类的继承总结
一、 一 继承
1.关键字:extends
2.格式:public class 类名 extends 父类名{}
3.特点:1)所有父类的属性都能继承
2)除父类的构造方法所有方法都能继承
3)类的继承只能是单根继承,但可以多层
例:public class people{
public people(String n){
name = n;
}
private String name;
public void eat(){}
}
public class student extends people{
public void study(){}
}
public class teacher extends student{
public void teach(){}
}
这里定义student类时继承了people的name 属性与eat() 方法,但是不能继承people的构造方法people(String n);同时,定义teacher类时继承了student的属性 name,student 的方法study(),也继承了people 的eat()方法,即实现了多层继承
二、 二 方法重写
1.定义:存在继承时,子类重写父类从继承的方法,不改变方法名、返回值、参数,只改变函数体与访问权限,其中访问权限只能拓展。
例:上面的例子中若student类中加一个private void eat(){System.out.println(“student eat”);}
则实现对从people继承来的eat()方法的重写。
2.要求:与重载区分
重载:同一类中,多个方法名相同参数
三、 三 自动转型
1. 定义:子类对象自动转型为父类的过程。
2. 格式:父类对象名 = new 子类();
3.特点:对象为父类型,除子类重写的方法外
其他都与父类相同
例:people stu = new student();
Student 类继承了people类,这里定义时stu自动转型为people类,但保留student重写的方法。
四、 四 多态
相同类型的对象调用相同方法时,由于继承和重写机制,得到的结果不同。如:上例中的people类对象stu,与其他的people类对象就可能有区别。