17.1继承
-
extends关键字
-
好处:
1:提高了代码的复用性
2:使类与类之间产生了关系,提供了多态的前提 -
注意:
1:只支持单继承
2:多个类可以继承同一个类
3 :Java支持多层继承,多重继承 -
继承体系图
-
继承后的成员变量
子类有使用自己的,子类没有使用父类的。class Zi extends Fu { int i = 2; public void show(){ int i = 3; System.out.println(this.i); //此时调用的是成员变量。 } }
-
关键字super
当父类和子类出现同名的成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字super。class Fu{ int a = 30; } class Zi extends Fu { int a = 20; public void show() { int a = 40; System.out.println(super.i); //此时调用的父类的成员变量。 } }
-
一些称呼
子类:派生类
父类:超类,基类 -
this和super的小总结
this调用的是本类的成员
super调用的是自己的父类成员 -
子父类中成员方法的特点-重写&应用
调用方法时:
子类有用子类,子类没有用父类
重写方法时:
子类和父类出现了一样的方法,子类重写父类的方法 -
重写父类注意事项
1:保证子类重写的方法访问权限大于父类的。
2:返回值,函数名,参数列表必须一模一样。
class Fu {
void show() { }
public void method(){ }
}
class Zi {
public
}
-
Java四大权限
public,protected,default(默认<不能写>),private扫描二维码关注公众号,回复: 4987476 查看本文章 -
名词:方法体&类主体
17.2抽象类
- 特点:不能被实例化
- 使用:创建子类继承,在子类中重写抽象方法;若子类不重写,子类还是一个抽象类。或者若子类只重写了父类的一部分抽象方法,这个子类还是一个抽象类。
- 抽象类的一些细节:
抽象类一定是一个父类,是不断抽取而来的。
抽象类可以有方法体的方法(不是抽象方法),可被子类使用。
abstract不可以与private,final和static一起使用。(私有了子类就继承不了)