① 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同一个接口有多个实现,当调用接口的方法时看具体的实现类。