继承是多态的前提,没有继承就没有多态。
在继承的关系中子类就是一个父类。
也就是说子类也可被当做一个父类,
定义以个父类:和定义普通类无差
定义一个子类:
public class 子类名称 extends 父类名称
在子类父类继承关系当中,如果成员变量重名。
则访问子类对象时有两种方式:
直接通过子类对象访问成员变量
左边等号是谁就优先用谁,没有就像上找
间接访问:
该方法属于谁就优先用谁,没有则向上找。
如果局部变量本类变量父类变量重名:
局部变量 name
本类变量 this.name
父类变量 super.name
方法覆盖重写的注意事项:
1.必须保证父子类之间方法的名称相同,参数列表也相同。
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写。这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。2.子类方法的返回值必须[小于等于]父类方法的返回值范围。
前提: java. lang. Object类是所有类的公共最高父类(祖宗类),java. lang. String就是object的子类。
继承关系中,父子类构造方法的访问特点:
1.子类构造方法当中有一个默认隐含的“super()调用,所以一定是先调用的父类构造, 后执行的子类构造。2.子类构造可以通过super关键字来调用父类重载构造。
3. super的父类构造调用,必须是子类构造方法的第一个语句。 不能一个子类构造 调用多次super构造。总结:
子类必须调用父类构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有- 一个,还必须是第一个。
super关键字的用法有三种:
1.在子类的成员方法中,访问父类的成员变量。2.在子类的成员方法中,访问父类的成员方法。3.在子类的构造方法中,访问父类的构造方法。
super关键字用来访问父类内容,而this关键字用来访问本类内容。用法也有三种:
1.在本类的成员方法中,访问本类的成员变量。
2.在本类的成员方法中,访问本类的另一个成员方法。3.在本类的构造方法中,访问本类的另- -个构造方法。在第三种用法当中要注意:
A. this(... )调用也必须是构造方法的第一个语句, 唯一一个。B. super和this两种构造调用,不能同时使用。
标签:构造方法,继承,子类,访问,父类,super,本类 来源: https://blog.csdn.net/weixin_44862501/article/details/90485217
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。