继承是面向对象的三大特性之一,是继封装后我们接触的又一个特性,继承关系发生在两个类之间,在Java中是单继承,指在一个类只能有一个直接父类,但是可以多重继承,实现继承的类叫做子类,被继承的类称之为父类(超类、基类),实现继承的关键字是extends,如果一个类没有显示的继承类,则隐式的继承了java.lang.Object类,继承实现的是is的关系。
Java的继承的实现语法:
class SubClass extends SuperClass{
//类体
}
extends在英文里是“扩展”的意思,其实我们说的继承就是一种扩展,下面的代码体现了继承的特点:
class Person{
String name;
public void init(){
System.out.println("My name is "+name);
}
}
class Zhangsan extends Person{}
public class Test04 {
public static void main(String[] args) {
Zhangsan zs = new Zhangsan();
zs.name = "张三";
zs.init();//My name is 张三
}
}
由上面的代码可以看出,Zhangsan类是一个空的类,但是,我们却调用了他的name属性和innit()方法,而这个属性和方法是Zhangsan类继承的父类Person类的。
只要是父类中使用public default protected修饰的方法和属性子类都可以继承使用的。