继承(inheritance)是面向对象编程的三要素(封装、继承、多态)中最重要的一个。 Java中同样拥有继承的概念。子类继承父类,父类被子类继承。 Java不同于C++,类的继承只能是单继承。一个子类只能有一个直接父类。 继承的优势子类继承父类的状态和行为,有以下两个优势: - 可以修改父类的状态或重载父类的行为
- 可以添加新的状态和行为
使用继承使用关键字extends来实现继承 class Student extends Person{ // ...}如果没有extends,则该类默认为java.lang.Object的子类 所有的类都是通过直接会间接继承自java.lang.Object得到的 继承包括字段的继承和方法的继承。 子类既可以使用父类的成员、方法,也可以重新定义一个类型完全相同的成员、方法。这种行为称为修改(覆盖) (@Override) 此外,继承同样可以进行方法的重载。 this 和 super- this为本对象实例的引用,可以在对象的成员方法中调用this来访问当前对象的字段或方法。
class Person{ String name; Person(){}; Person(String name){ this.name = name; } void sayHello(){ System.out.println("Person " + name + " Say Hello to you."); }}- super也是本对象实例的引用,可以用super来调用父类的字段或方法。super主要用来解决这些问题
- 子类方法已将父类方法覆盖,但需要在子类中访问父类的方法
class Student extends Person{ String id; Student(){}; void sayHello(){ System.out.println("Student " + name + "Say Hello to you"); } void testSuper(){ super.sayHello(); this.sayHello(); } }​ 2. 子类的构造方法一部分需要用到父类的构造方法 class Student extends Person{ String id; Student(){}; Student(String name,String id){ super(name); // 调用父类的构造方法 this.id = id; }}参考文本学习视频资料:http://www.makeru.com.cn/live/1392_1164.html?s=143793
|