1、什么是多态性?什么是虚拟方法调用?
对象的多态性:
Person p = new xx();
此时new的对象可以为多种形态,但需要是person类的子类。即父类的引用指向子类的对象。
虚拟方法调用:
p.eat();
该语句在编译时会认为时调用Person类中的eat方法,但实际上调用的是子类xx中的eat方法。即编译看左边,运行看右边。
注:属性只看左边。
2、方法的重写 overwrite具体的规则有哪些?
方法名、形参列表,子类的权限修饰符要不小于父类。
3、重载和重写的区别?
重写:子类继承父类以后,可以对父类中同名的同参的方法,进行覆盖操作(可以认为是多态性)
重载:函数名相同,参数列表不同。(不认为是多态性)