继承是面向对象的三大特征之一. 也是实现软件复用的重要手段. Java继承具有单继承的特点, 每个子类只有一个直接父类.
继承是java面向对象编程技术的基础。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
例子:
兔子和羊属于食草动物类,狮子和豹属于食肉动物类。
食草动物和食肉动物又是属于动物类。
所以继承需要符合的关系是:is-a,父类更通用,子类更具体。
虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。
在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:
class 父类 {
}
class 子类 extends 父类 {
}
接下来我们通过实例来说明这个需求。
class Teacher{
String name;
int age;
String type;
public void sleep(){
System.out.println(name+"在睡觉");
}
}
class JavaTeacher extends Teacher{
public void teachJava(){
System.out.println(name+"在教java");
}
}
class PHPTeacher extends Teacher{
public void teachPHP(){
System.out.println(name+"在教PHP");
}
}
public class TestTeacher1{
public static void main(String[] args){
JavaTeacher jt = new JavaTeacher();
jt.name = "桃李";
jt.age = 18;
jt.type = "java";
jt.teachJava();
jt.sleep();
PHPTeacher pt = new PHPTeacher();
pt.name = "龙哥";
pt.age = 18;
pt.type = "php";
pt.teachPHP();
pt.sleep();
}
}