黑马程序员技术交流社区

标题: 【上海校区】继承及使用要点 [打印本页]

作者: 梦缠绕的时候    时间: 2020-2-10 14:30
标题: 【上海校区】继承及使用要点
继承让我们更加容易实现类的扩展。 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子(don’t  reinvent  wheels)。
      从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:
          图5-1 现实世界中的继承
      上图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个Student类,发现已经有Person类包含了我们需要的属性和方法,那么Student类只需要继承Person类即可拥有Person类的属性和方法。
【示例5-1】使用extends实现继承
[url=][/url]
public class User2 {    public static void main(String[] args) {        Student student = new Student("郭少", 176, "安全");        student.rest();        student.study();    }}class Person {    String name;    int height;        public void rest() {        System.out.println("休息一会!!!");    }}class Student extends Person {    String major;        public void study() {        System.out.println("学习java");    }        public Student(String name, int height, String major) {        //继承了Person类的属性        this.name = name;        this.height = height;        this.major = major;    }}[url=][/url]

结果如下:

继承使用要点:
  1.父类也称作超类、基类、派生类等。
  2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。
  3.Java中类没有多继承,接口有多继承。
  4.子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
  5.如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2