继承
通过从现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。
这时候新类称为子类 现有的类称为父类
每个类只能有一个直接父类
【访问修饰符】class <subclass> extends <superclass>{
}
无法继承父类的构造方法
Super 关键字
只用在子类中
用来访问父类的构造方法 父类的成员 包括父类的属性 一般方法等
访问父类的构造方法:
super(参数)
访问父类的属性 方法:
super.点《父类属性 方法》
super具有访问权限的限制,如 无法通过super访问private成员
实例化子类对象
在java中一个类的构造方法在如下两种情况总是会被执行
1创建该类的对象(实例化)
2创建该类的子类的对象(子类的实例化)
子类在实例化时会首先执行父类的构造方法然后才执行子类的构造方法
子类继承父类时构造方法的调用规则:
1如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法 则系统会默认先调用父类的无参构造方法。在这种情况下 是否写super();语句 效果是一样的
2如果子类通过Super调用父类有参构造方法 将执行父类相应的构造方法 ,而不执行父类无参构造方法
3如果子类的构造方法通过this显示调用自身其它构造方法 在相应构造方法中应用以上两条规则
方法重写
要求:
重写方法和被重写方法必须具有相同的方法名 相同的参数列表 相同的返回值类型
重写方法不能缩小被重写方法的访问权限