继承
继承就是一个子类和一个父类,子类继承父类的特征和行为。
具有单继承,和多重继承特性
继承特点
使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
1.增加代码重用性
2.使代码清晰明了
继承实现:
创建子类通过extents继承父类。通过super关键字调用父类方法,搭配this关键字指定当前对象。
单继承
创建一个父类people
public class people {
//属性
private String name;//名字
private int age;//年龄
public people(String name, int age) {
this.name = name;
this.age = age;
}
//创建一个eat方法
public void eat(){
System.out.println(name+"吃饭咯~");
}
//创建一个sleep方法
public void sleep(){
System.out.println(name+"睡觉咯~");
}
}
extents关键字
用于子类继承父类
super关键字
子类通过关键字super继承父类的方法
创建一个student子类继承父类people的方法
public class student extends people{
public student(String name, int age) {
super(name, age);
}
}
创建一个teacher子类继承父类people的方法
public class teacher extends people {
public teacher(String name, int age) {
super(name, age);
}
}
测试类
创建一个student对象,调用父类的sleep方法
public class test {
public static void main(String[] args) {
student dd = new student("阿发",18);
dd.sleep();
}
}
多重继承
子类继承已经继承父类的子类
public class EnglishTeacher extends teacher{
public EnglishTeacher(String name, int age) {
super(name, age);
}
}
重写
当子类有一个与父类相同方法签名(即相同的方法名和相同的参数列表)的方法时,我们说子类重写了父类的方法。这样,当使用子类对象调用该方法时,将执行子类中的方法,而不是父类中的方法。
作用
重写父类的方法,调用时调用子类方法
怎么实现:
public class student extends people{
public student(String name, int age) {
super(name, age);
}
@Override
//对父类eat方法进行重写
public void eat(){
System.out.println("我不爱吃饭~");
}
}