【Java入门】十八 面向对象的三大特征之一-继承

        继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。详细视频讲解可以点击链接观看噢https://www.bilibili.com/video/BV1qL411u7eE?p=74&vd_source=c5385a182c26b50c3949a8ad9950f89c

继承

        继承是面向对象编程的三大特征之一,继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don't reinvent wheels)。

       继承有两个主要作用:

        1、代码复用,更加容易实现类的扩展

        2、方便建模

继承的实现

        从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:

         图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个student类,发现已经有person类包含了我们需要的属性和方法,那么student类只需要继承person类即可拥有person类的属性和方法。

【示例】使用extends实现继承

public class Test{

    public static void main(String[ ] args) {

        Student s = new Student('高淇",176,"Java");

        s.rest();

        s.study);

    }

}

class Person {

    String name;

    int height;

    public void rest(){

    System.outprintln("休息一会! ");

}

class Student extends Person {

    String major; //专业

    public void study(){

        System.out.println("在尚学堂,学习Java");

    }

    public Student(String name,int height,String major) {

        //天然拥有父类的属性

        this.name = name;

        this.height = height;

        this.major = major;

}

instanceof运算符

instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象时,返回true;否则,返回false。比如:

【示例】使用instanceof运算符进行类型判断

public class Test{

    public static void main(String[ ] args) {

        Student s = new Student('高淇",172,"Java");

        System.outprintln(s instanceof Person);

        System.outprintln(s instanceof Student);

    }

}

继承的使用要点

1、父类也称作超类、基类。     子类:派生类等。

2. Java中只有单继承,没有像C+ +那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3. Java中类没有多继承,接口有多继承。

4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5. 如果定义一一个类时,没有调用extendsr 则它的父类是: java.lang.Object.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容