多平台统一管理软件接口,如何实现多平台统一管理软件接口
269
2022-08-29
Java中接口的多态详解
目录多态参数多态数组接口的多态传递现象总结
多态参数
就像我们现实生活中电脑的usb接口,我们既可以接受手机对象,又可以接受相机对象,等等,体现了接口的多态,查看以下代码
接口:
package InterfaceM;
public interface Interface {
public void join();
public void stop();
}
手机类:
package InterfaceM;
public class Phone implements Interface{
@Override
public void join() {
System.out.println(this.toString()+"接入了电脑");
}
@Override
public void stop() {
System.out.println(this.toString()+"离开了电脑");
}
}
相机类;
package InterfaceM;
public class Camera implements Interface {
@Override
public void join() {
System.out.println(this.toString()+"接入了电脑");
}
@Override
public void stop() {
System.out.println(this.toString()+"离开了电脑");
}
}
电脑类:
package InterfaceM;
public class Computer {
public void work(Interface interF){
interF.join();
interF.stop();
}
public static void main(String[] args) {
Camera camera=new Camera();
Phone phone=new Phone();
//将相机接入电脑
Computer computer=new Computer();
computer.work(camera);
compPwewfTLJMuter.work(phone);
}
}
多态数组
在computer类型的数组中,我们即可以存放多种对象类型的数组。而且对应不同的数组对象,我们可以做出不同的事件。
在刚才的上述代码中我们在phone类中加入call功能,要求有插入phone时,调用call函数
package InterfaceM;
public class Computer {
public void work(Interface interF){
interF.join();
interF.stop();
}
public static void main(String[] args) {
Camera camera=new Camera();
Phone phone=new Phone();
//将相机接入电脑
Interface []interf=new Interface[2];
interf[0]=camera;
interf[1]=phone;
Computer computer=new Computer();
for (int i=0;i computer.work(interf[i]); if (interf[i]instanceof Phone){ phone.call(); } } } } 接口的多态传递现象 如果我们运行以下代码,由于ih并没有被teacher继承,会发生报错,但是当我们用ig继承ih之后,我们可以发现这样就不会报错。这样体现出了多态的继承传递现象。 public class Test { public static void main(String[] args) { IG ig=new Teacher(); IH ih=new Teacher(); } } interface IH{} interface IG{} class Teacher implements IG{ } public class Test { public static void main(String[] args) { IG ig=new Teacher(); IH ih=new Teacher(); } } interface IH{} interface IG extends IH{} class Teacher implements IG{ } 总结
computer.work(interf[i]);
if (interf[i]instanceof Phone){
phone.call();
}
}
}
}
接口的多态传递现象
如果我们运行以下代码,由于ih并没有被teacher继承,会发生报错,但是当我们用ig继承ih之后,我们可以发现这样就不会报错。这样体现出了多态的继承传递现象。
public class Test {
public static void main(String[] args) {
IG ig=new Teacher();
IH ih=new Teacher();
}
}
interface IH{}
interface IG{}
class Teacher implements IG{
}
public class Test {
public static void main(String[] args) {
IG ig=new Teacher();
IH ih=new Teacher();
}
}
interface IH{}
interface IG extends IH{}
class Teacher implements IG{
}
总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~