继承

Posted 颜涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承相关的知识,希望对你有一定的参考价值。

继承:
就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。

继承的好处:

  1. 提高代码的复用性。
  2. 类与类之间产生了关系,是多态的前提。

格式
父类:
class Employee {
String name; // 定义name属性
// 定义员工的工作方法
public void work() {

  System.out.println("尽心尽力地工作");

}
}
子类:
class Teacher extends Employee {
// 定义一个打印name的方法
public void printName() {

  System.out.println("name=" + name);

}
}
测试类:
public class ExtendDemo01 {
public static void main(String[] args) {

// 创建一个讲师类对象
Teacher t = new Teacher();
// 为该员工类的name属性进行赋值
t.name = "小明";
// 调用该员工的printName()方法
t.printName(); // name = 小明
// 调用Teacher类继承来的work()方法
t.work(); // 尽心尽力地工作

}
}

继承后的特点--成员变量
- 当成员变量不重名时访问时没有影响的
- 当成员变量重名时访问时有影响的

继承后的特点--成员方法

  • 如果子类父类中出现不重名的成员方法,这时的调用是没有影响的。
  • 如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,叫做方法重写

方法重写 :
子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。

继承后的特点--构造方法

  1. 构造方法的名字是与类名一致的。所以子类是无法继承父类构造方法的。
  2. 构造方法的作用是初始化成员变量的。所以子类的初始化过程中,必须先执行父类的初始化动作。子类的构造方法中默认有一个super() ,表示调用父类的构造方法,父类成员变量初始化后,才可以给子类使用。

super和this的含义

  • super :代表父类的存储空间标识(可以理解为父亲的引用)。
  • this :代表当前对象的引用(谁调用就代表谁)。

继承的特点

  • Java只支持单继承,不支持多继承。
  • Java支持多层继承(继承体系)。

以上是关于继承的主要内容,如果未能解决你的问题,请参考以下文章

26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段

Flask之模板之宏继承包含

java中封装,继承,多态,接口学习总结

php如何实现多继承?

如何覆盖继承的嵌套类中存在的虚拟方法

多线程 Thread 线程同步 synchronized