今天是充实的一天,昨天结束了类与对象的学习,今天开始了面向对象三大特征的学习,三大特征是继承、封装、多态。今天学的继承。

一、继承的使用要点

  1. 父类称做超类、基类、派生类
  2. JAVA中只有单继承
  3. JAVA类中没有多继承
  4. 子类继承父类,可以得到父类的全部属性和方法(除父类的构造方法)
  5. 如果定义一个类时没有调用extends,则它的父类是JAVA。Long.Object

二、子类构造器要点

1、利用父类 的构造器对这部分私有域进行初始化,我们可以通过 super 实现对超类构造器的调用。使用 super 调用构造器的语句必须是子类构造器的第一条语句。




顶层父类java java的超级父类_超类


这里的super看似功能与this功能差不多,但是只只是差不多而以,这种比较并不是很恰当 因为 super 不是一个对象的引用,不能将 super 赋给另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字。但这两个关键字 this 有两个用途: 一是引用隐式参数,二是调用该类其他的构造器,同样super 关键字也有两个用途,一是调用超类的方法,二是调用超类的构造器。

对比这两个关键字使用的时候在调用构造器方面,这两个关键字的使用方式很相似。调用构造器的语句只能作为另一个构造器的第一条语句出现。构造参数既可以传递给本类(this) 的其他构造器,也可以传递给超类(super) 的构造器。

为测试继承我写了以下代码:主要是写一个公司两位员工,一个经理经理是可以领到奖金的,而员工却没有,利用继承写出来

源码如下:

定义一个根类,也是员工类


顶层父类java java的超级父类_超类_02


然后进行继承员工类并写经理的奖金设定方法


顶层父类java java的超级父类_顶层父类java_03


最后运行,重新定义Manager对象的getSalary 方法之后,奖金就会自动地添加到经理的薪水中。下面给出一个例子,其功能为创建一个新经理,并设置他的奖金。


顶层父类java java的超级父类_超类_04


运行的结果如下,这样就将经理的3000元底薪加上了5000元奖金


顶层父类java java的超级父类_父类_05


我声明一下,发头条只是为了复习今天学习的内容,在睡前将所学的内容以这个方式编写出来真的是个非常好的复习方式,虽然会耽误一些时间,不过值得。