这样你会发现接口变得很像抽象类了,不过接口支持多实现(即一个类可以同时实现多个类,但是一个类同时只能继承一个类)
这样一来,Java相当于间接地实现了多继承
下图说明继承和实现的区别:单继承,多实现
多态一般用在哪些场景呢?
场景很多,这里说两个最常用的
场景一:方法的参数,即方法定义时,父类作为方法的形参,然后调用时传入子类作为方法的实参
场景二:方法的返回值,即方法定义时,父类作为方法的返回值,然后在方法内部实际返回子类
代码示范如下:
public class PolyphorismDemo { public static void main(String[] args) { PolyphorismDemo demo = new PolyphorismDemo(); //场景一:形参,将猫(子类)赋值给动物(父类) demo.fun(new Cat()); //场景二:返回值,将猫赋值给动物 Animal animal = demo.fun2(); } public void fun(Animal animal){ } public Animal fun2(){ return new Cat(); } } class Animal{ } class Cat extends Animal{ } 总结其中还有很多知识点没总结,太多了,看起来会不方便,所以其他的内容会陆续放到后面章节来讲
这里先简单列出来,比如:
equals和hashcode的关系
instanceof和getClass()的区别
静态绑定和动态绑定
Java8的默认方法和静态方法
等等等
后记最后,感谢大家的观看,谢谢