⑴ 求详解java中的接口与多态
多态是面向对象的核心之一,面向接口编程也是以面向对象编程为核心。
接口就是一种规范,我们平时编程要融入生活,比如说电脑的主板,上面有很多接口,插CPU得接口只要插上CPU就可以工作,不管它是哪个厂家生产的CPU,不管它内部如何工作,只要是CPU就可以用。好比你写个接口,里面有个fly方法,实现此接口的类都要实现这个方法,至于你如何飞是你的问题,不管你用翅膀飞,还是骑扫把飞,只要实现’fly飞‘就可以。
上面是让你将编程融入生活,说说编程的东西。
多态就是父类或者接口的引用指向子类的对象的情况。比如child类 extends Fahter类
那么可以Father f=new Child(); 如果一段代码可以用父类运行,当换成子类时,功能不变,那么就是多态。多态主要一定要记得两段话,编译时看引用,运行时看对象。这句话的意思是在IDE编译阶段,你用f点出来的方法(f.这里会提示Father类有得实例方法)都是Fahter类自己有得,而Child类里自己有得方法不会被自动提示出来。但是如果子类重写父类的方法了(重写:就是子类定义了一个与父类一模一样的方法,只是方法体不同),运行时还要看后面new出来的是谁,new Child();那么执行要执行Child类重写的方法体,这样做的好处是我可以在一个方法里写f.fly();(比如Father和Child都有fly方法)
public void test(Father f){
f.fly();
} 在这样的代码下 我里面代码不用动,但是可以让f.fly()效果不同,因为我传进去的子类对象可以不同,比如test(new Child1()); test(new Child2()); test(new Child3());然而这三个子类里面的fly都有自己的具体实现,这就是多态的表现,同一个引用调用同一个方法而表现出多种状态。接口换成父类是一样的。 再有不懂得地方追问。 呵呵