一、继承的使用
类是对象的抽象,那么继承便是类的抽象,子类继承父类(除了构造方法),但是有的东西子类虽然继承了但是并不能使用,继承很好的避免了代码的 重复,有利于代码的整洁与方便。
在继承中使用 extends,class 子类名 extends 父类名。
在子类中再构建新的属性或者方法。
instanceof的使用
instanceof可以比较左边是否与右边是否是一个类型,包括父类,但不能是子类。
简单写一个代码如下:
public class Pro6 {
public static void main(String[] args) {
Students stu=new Students();
System.out.println(stu.high);
}
}
class People{
int age,high;
}
class Students extends People{
String name;
}
二、方法的重写
在子类继承父类中,如果父类中的某些方法不太符合我们的要求,那么我们可以在子类中重写我们要换掉的方法,要求与父类的方法名称与参数相同。
同时在返回值的类型中子类要小于等于父类
比如在父类中 如果是
public Get(){
return new people();
}
那么在子类中返回的值必须是people的子类。
可以使用super.方法名称来调用被覆盖的父类的方法
也可以用super.变量名称来调用父类中的变量。
继承树的追溯
在构造方法的第一句总是super();
这告诉我们,当我们引用子类构造方法的时候他就会先引用父类,父类也引用父类,以此类推,直到最高代为止。
代码如下:
public class Pro7 {
public static void main(String[] args) {
new Childern();
}
}
class Father{
public Father(){
System.out.println("创建父类");
}
}
class Childern extends Father{
public Childern(){
super();//编译器会自动加上这段代码
System.out.println("创建子类");
}
}
当运行后结果不只是创建子类还有创建父类。