继承
继承可以看成是类与类之间的衍生关系。比如狗类是动物类,牧羊犬类又是狗类。于是我们可以说狗类继承了动物类,而牧羊犬类就继承了狗类。于是狗类就是动物类的子类(或派生类),动物类就是狗类的父类(或基类)。
所以继承需要符合的关系是:is-a,父类更通用,子类更具体。
语法:
class 子类 extends 父类
例如我们定义了一个 Animal 类,再创建一个 Dog 类,我们需要它继承 Animal 类
class Dog extends Animal {
...
}
先创建一个父类 Animal.java
public class Animal {
//动物四肢的数量
public int legNum;
//类方法
public void bark() {
System.out.println("动物叫!");
}
}
接下来创建一个子类Dog.java
public class Dog extends Animal {
}
Dog 类继承了父类 Animal,我们 Dog 类里什么都没有写,其实它继承了父类 Animal,所以 Dog 类拥有 Animal 类的全部方法和属性(除开 private 方法和属性)。我们创建一个测试类测试一下。
public class Test{
public static void main(String[] args) {
Dog a = new Dog();
a.legNum = 4;
a.bark();
}
}
运行结果如下:
为什么需要继承?
如果有两个类相似,那么它们会有许多重复的代码,导致后果就是代码量大且臃肿,后期的维护性不高。通过继承就可以解决这个问题,将两段代码中相同的部分提取出来组成一个父类,实现代码的复用。
继承的特点:
1.子类拥有父类除 private 以外的所有属性和方法
2.子类可以拥有自己的属性和方法
3.子类可以重写实现父类的方法
4.Java 中的继承是单继承,一个类只有一个父类
注: Java 实现多继承的一个办法是 implements(实现)接口
super
super关键字在子类内部使用,代表父类对象。
1.访问父类的属性 super.属性名
2.访问父类的方法 super.bark()
3.子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()
来源:CSDN
作者:阳光下的米雪
链接:https://blog.csdn.net/qq_38530648/article/details/103709367