1.方法的覆盖原则
-1-子类和父类的名字必须相同,不然不叫覆盖
-2-判断是否实现覆盖:[email protected],如果覆盖内容不报错,说明已经实现
方法的覆盖,这时父类和子类的名字必须相同。
-3-父类和子类返回值类型必须相同
-4-父类和子类的签名(方法名+参数)必须相同
-5-子类必须比父类的访问权限相同或者比父类的访问权限大。
2.在调用方法时会先去访问子类(本类),然后去访问父类。
3.只有方法有覆盖的概念而字段没有。
4.super是直接到父类中找对应的方法。
而且使用super时,子类是指的是本类,并且不能嵌套使用。
而且super必须在本类中创建一个方法来存放调用。
5.继承的内存分析
jvm虚拟机会先加载父类的对象到内存中,在加载子类的。在子类中创建
对象后,会先执行父类中的构造器
6.super不可以被打印,this可以被打印,因为this代表的是内存地址
7.super();构造方法要放在第一行
8.一个文件中有多个类时,main方法一定是放在有public的和文件名相同的类中的
9.super();和this();不可以在一起使用(因为两者都必须放在第一行)
10.私有化方法后需要添加getset方法,并且打印时也要变成--(对象名称.getName());
11.字段的隐藏
-1-当子类和父类中出现一样的字段时,this指的是子类的,super指的是父类的
-2-使用this时会先在子类中寻找指定的内容,如果没有才会去父类中再找,如果父类中有,
会查看是否允许继承。
-3-子类和父类中有相同名称的静态方法时,对象名.静态方法名(相当于子类名.静态方法名)调用的是
子类中的方法,要调用父类的方法:父类名.静态方法名
原文:https://www.cnblogs.com/-zero/p/10354960.html