继承总结
继承是类与类之间的一种关系,分为父类和子类两种(在Java中只支持但继承关系)子类使用关键字extends+父类方法名来实现。
如:public class 子类 extends 父类{}
子类继承了父类的所有内容,但是对于不同访问修饰父类修饰的属性方法,子类所调用的权限也不相同。对于public关键词修饰的属性和方法,子类同一个项目下都可以继承和调用。protected关键词修饰的属性和方法,可以在同包下和子类继承关系下继承和调用。对于缺省关键词的方法和属性,只能在同包下继承的调用,但是对于private修饰符修饰的属性和方法,只能自己该类使用。
子类继承父类的方法后,还可以根据需要重写其该方法。重写方法的名称必须与父类相同,访问修饰符可以和父类相同也可以比父类权限更大、返回值类型可以和父类相同也可以是父的子类,这样可以丰富扩展子类继承父类的方法。
对于继承父类的子类方法,在初始化方法时可以使用父类容器来初始化子类
例如:厨师类继承了人类则可以
class Person{
public void move(){
System.out.println("人类行走");
}
}
class Chef{
public void move(){
System.out.println("厨师行走");
}
public void cook(){
System.out.println("厨师做饭");
}
}
public test{
public static void main(String[] args){
Person p = new Chef();
}
}
这种声明方法称为向上转型,也就是使用父类的类声明子类,向上转型后的类使用子类继承重写后的方法,依旧执行子类的方法。但是子类独有的方法cook()p实例中调用不到,需要将p向下转型成Chef类才可以调用.
Chef chef = (Chef)p;
chef.cook();