1.什么是多态?
父类引用指向子类对象。
2.什么是虚拟方法调用?
使用多态创建的对象,在编译时编译父类的方法,但实际运行的时候调用的是子类重写后的方法。
3.什么是继承?
子类通过继承调用父类非私有的属性和方法
4.什么是方法的重写?
子类继承父类以后,可以对父类中同名同参的方法进行覆盖。
5.重写的规定
子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同。
子类重写的方法的权限修饰符不小于父类中被重写的方法的权限修饰符(private修饰的方法不能被重写)。
返回值类型:父类返回值为void,则子类只能是void
父类返回值为A类型,子类返回值只能为A类型以及他的子类
父类返回值为基本数据类型时,子类的返回值之能事相应的基本数据类型。
子类从写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型。
6.如何区分方法重载和重写?
重载不表现为多态性,而重写表现多态性。
7.super关键字可以理解为父类,可以调用属性,方法,构造器。
可使用super.属性获取super.方法调用,super.可省略。
当子类声明了与父类同名的属性或重写了父类的方法,必须使用super.。
super调用构造器是必须使用super.,且构造器必须声明在子类的首行,若没有声明this(形参)或super(形参),则默认调用父类中的空参构造super(),在类的多个构造器中,至少有一个类的构造器中使用了super(形参),调用了父类的构造器。
8.instanceof操作符
x instanceof A :检验x是否为类A的对象,返回值为boolean;
x 所属的类必须是A的子类或父类,否则编译错误;若X属于类A的子类,返回值也为TRUE