继承入门
继承的好处
好处:
提高了代码的复用性。
提高了代码的维护性。
让类与类之间产生了关系,是多态的前提。
弊端:
继承是侵入性的
降低了代码的灵活性
增强了代码的耦合性(代码与代码之间的关联都可以将其称之为耦合,修改一个父类的非私有代码,所有子类全都受到影响)
继承的特点
Java只支持单继承,不支持多继承,但支持多层继承。
继承中成员变量的访问特点
在子类方法中访问一个变量,默认就近原则使用:
先在子类局部范围找
然后在子类成员范围找
最后在父类成员范围找
注意:如果子父类中,出现了重名的成员变量,通过就近原则,会优先使用子类的,如果一定要使用父类的,可以通过super关键字,进行区分。
this和super访问成员的格式
注意:括号中三个点代表传入参数。
继承中成员方法的访问特点
同成员变量访问特点一样,通过子类对象访问一个方法:
优先在子类成员范围找
再去父类成员范围找
方法重写概述和应用场景
概念:在继承体系中,子类出现了和父类中一模一样的方法声明。
方法重写的应用场景:
当子类需要父类的功能,而功能主体子类有自己的特有内容,可以重写父类中的方法,这样,即沿袭了父亲的功能,又定义了子类特有的内容。
注意:
方法重写:在继承体系中,子类出现了和父类一模一样的方法声明(方法名,参数列表,返回值类型)
方法重载:在同一个类中,方法名相同,参数列表不同,与返回值无关。
方法重写的注意事项
一、父类中的私有方法不能被重写。
二、父类中静态方法,子类必须通过静态方法进行重写;父类非静态方法,子类也必须通过非静态方法进行重写。
注意:静态方法不能被重写!如果子类中,也存在一个方法声明一模一样的方法,可以理解为,子类将父类中同名的方法,隐藏了起来,并非是方法重写。
三、子类重写父类方法时,访问权限必须大于等于父类
权限修饰符
权限修饰符: