image.png
image.png
创建非匿名子类的匿名子类对象:
image.png此时。Person p = new Person(){};即为创建了匿名子类。其中new Person(){};中的Person名可以理解为用父类名代替子类名,实际是子类名,而这个子类名没有明确说是阿Person众多子类中的哪一个,故称为匿名类。同时,此匿名类中的方法一定要对父类方法重写。上图最后一段代码,体现了多态性的应用。 image.png
这里的(Person p)中的形参p其实是子类对象,
p.eat();
p.breath();
image.png
两个方法是父类的方法,但是运行后是子类重写后的方法的结果,即多态性的体现。
image.png创建匿名子类的匿名对象: image.png
抽象类和接口有哪些共同点和区别:
相同点:
1.都不能实例化
2.都可以包含抽样方法
不同点:
1.抽象类:有构造器;接口:不能有构造器
2.抽象类:单继承; 接口:多继承
网友评论