程存淦

奋斗吧!少年!

Java中类的继承深入剖析

       在Java开发中,我们常常用到继承这一概念,可以说继承是Java这类面向对象编程语言的基石。正是有了继承这一概念,使得我们可以创建分层次的类。今天小编就和大家一起来深入聊聊Java语言的继承。

        在Java这类面向对象编程语言中,继承可以理解为一个对象从另一个对象获取属性的过程。这样说的话有点绕,举个例子来说吧,如果类A是类B的父类,而B类是类C的父类,那么类C是类A的子类,类C是从类A继承而来的。Java中类的继承是单一继承,即一子类只能拥有一个父类(基类(baseclass))。

        Java继承中最常使用的两个关键字是extends和implements。这两个关键字的使用决定了一个对象和另一个对象是否是(一个关系)。通过使用两个关键字,我们能实现一个对象获取另一个对象的属性。而说到类的继承,不得不说Object。Object是所有类的祖先,而除了Object外,所有类必须有一个父类。

        1、当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类对象。接下来,再去调用子类的构造方法,生成子类的对象。【要想生成子类的对象,首先要生成父类的对象,没有父类对象就没有子类对象。比如说没有父亲,就没有孩子】。

public class Child extends Parent {
    public Child(){
        System.out.println("child");
    }
    public static void main(String[] args) {
        Child child=new Child();
    }
}
class  Parent{
    public Parent()
    {
        System.out.println("no args parent");
    }
    public Parent(int i){
        System.out.println("parent");
    }
}
输出结果:
no args parent
child

        2、super关键字:super表示对父类对象的引用。

        3、如果子类使用super()显示调用父类的某个构造方法,那么在执行的时候会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。

public class Child extends Parent {
    public Child(){
        super(1);
        System.out.println("child");
    }
    public static void main(String[] args) {
        Child child=new Child();
    }
}
class  Parent{
    public Parent()
    {
        System.out.println("no args parent");
    }
    public Parent(int i){
        System.out.println("parent");
    }
}
输出结果:
parent
child

        4、关于继承的3点:

            a)父类有的,子类也有

            b)父类没有的,子类可以增加

            c)   父类有的,子类可以改变

       5、关于继承的注意事项

            a)    构造方法不能被继承

            b)    方法和属性可以继承

            c)    子类的构造方法隐式调用父类的不带参数的构造方法

            d)    当父类没有不带参数的构造方法时,子类需要使用super来显示的调用父类的构造方法,super指的是对父类的引用

            e)    Super关键字必须是构造方法中的第一行语句




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37404604/article/details/79949559
文章标签: JAVA基础
个人分类: JAVA
想对作者说点什么? 我来说一句

java中Collection深入剖析

2010年04月08日 4KB 下载

没有更多推荐了,返回首页

不良信息举报

Java中类的继承深入剖析

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭