① java種用一個類去調用一個介面的多個實現類
如果介面的實現類有很多,那麼你可以像下面這樣,把所有實現類的類名在一個地方定義。可以是一個property文件, 可以是資料庫,也可以直接寫在代碼里。也可以用工廠模式,也可以用代理,spring等等,方法很多,就不一一列舉了。。。
public class Car {
public static void main(String[] args) throws Exception{
List<String> classList = new ArrayList<String>();
classList.add("Car1");
classList.add("Car2");
for(String className : classList) {
Carinterface car = (Carinterface) Class.forName(className).newInstance();
System.out.println(car.getName() + " : " + car.getPrice());
}
}
}
② java中如何在eclipse里查看一個介面的所有實現類
首先選中介面類型名字,右鍵菜單,如圖
這樣你就能輕松查看有哪些類實現該介面
該方法不僅僅適用介面,也可以查找某個類的子父級關系
③ java一個介面的多個實現類可否選擇執行兩個
可以是可以,不過沒意義啊,感覺你沒理解多態。
一定要做的話,就是:
C
c
=
new
A();
a.method();
c=new
B();
b.method();醬紫就可以了
但是不會這么寫的,介面一般的作用就是為了定義規范
比如你寫個方法public
void
method1(C
c){
c.method();//醬紫調用,根據傳入的參數的不同就會執行具體實現類的方法了,你傳入A,就是A.method,傳入B就是B.method
}
④ java中多態是怎麼一回事
多態字面上理解就是多種狀態的意思,在java中就是同一個基亂彎方法調用能獲取不同的結果,體現在重寫和重載上。其實是因為確定一個函數需要幾個關鍵點:方法名,參數個數,參數類型,順序,(返回類型在java中不能確定),(注意和參數名沒有關系),那麼同一個方法名就可以根據參數類型,參數個數,順序不同寫很多個方法,這時候我們調用同一個方法名,傳入不同的參數就能返回不同的結果,也就是多態裡面的重載了。另外重寫是陪褲因為java當中有繼承的概念,父類的部分方法(看許可權修飾符)子類也能用搏悶,那麼當子類中同樣實現了這個方法,就是函數幾個關鍵點要相同,包含返回類型,完全相同,那麼當使用子類對象調用時,優先使用的是自己的方法,如果用父類的對象調用,那就是父類的方法,看具體的實現類,使用的場景很多,比如,java同一個介面有多個實現,當調用介面的方法時看具體的實現類。