java 继承

Posted 元贞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 继承相关的知识,希望对你有一定的参考价值。

继承

    子类继承父类除私有内容外的其他内容

继承: 子类可以自动拥有父类中除了私有内容外的其他所有内容.

语法:

public class 子类 extends 父类{

}

那什么样的逻辑我们可以写成继承关系呢? 当出现xxx是一种xxxx的时候. 就可以用继承关系.

比如, 写一个手机类

package com.lewen.day18;

public class Phone {
    public void call(){
        System.out.println("打电话");
    }
}

写个小米手机

package com.lewen.day18;

public class Xiaomi extends Phone {
}

测试一下

package com.lewen.day18;

public class TestExtends {
    public static void main(String[] args) {
        Xiaomi xm = new Xiaomi();
        xm.call();
    }
}

我们发现程序没有报错, 并且, 可以正常执行. 但是我们看Xiaomi这个类里并没有写任何代码. 就写了个继承.

对了, 继承就是这样的. Xiaomi继承了Phone的所有. 接下来. 我们试试看加了private的方法会不会被继承

package com.lewen.day18;

public class Phone {
    public void call(){
        System.out.println("打电话");
    }

    private void Msn(){
        System.out.println("出厂编码");
    }

}

测试

package com.lewen.day18;

public class TestExtends {
    public static void main(String[] args) {
        Xiaomi xm = new Xiaomi();
        xm.call();
//        xm.msn();
    }
}

不光是方法, 属性也一样

package com.lewen.day18;

public class Phone {
    private String mha;

    public void call() {
        System.out.println("打电话");
    }

    private void msn() {
        System.out.println("出厂编码");
    }

}

测试

package com.lewen.day18;

public class TestExtends {
    public static void main(String[] args) {
        Xiaomi xm = new Xiaomi();
        xm.call();
//        xm.msn(); //报错,找不到

//        xm.mha = "4000";             // 报错
//        System.out.println(xm.mha);

    }
}

没问题.

OK. 回到继承的概念. 在java里. 子类继承父类. 子类会自动拥有父类中除了私有内容外的其他所有内容

注意: 不是说子类继承了父类就不能写其他的了. 子类还可以写自己的方法和属性. 互不干扰.

package com.lewen.day18;

public class Xiaomi extends Phone {
    public void ai() {
        System.out.println("小爱同学");
    }
}

测试:

package com.lewen.day18;

public class TestExtends {
    public static void main(String[] args) {
        Xiaomi xm = new Xiaomi();
        xm.call();  // 父类中方法
        xm.ai();    // 子类中方法
    }
}

所以从另一个角度讲, 子类其实是对父类进行了扩展. 在父类已经给了一些方法和属性的基础上再加一点儿新功能. 可以节省很多的代码.

注意: java只能单继承. 说白了. 每个儿子只能有一个爹

以上是关于java 继承的主要内容,如果未能解决你的问题,请参考以下文章

java中封装,继承,多态,接口学习总结

java代码在片段活动中不起作用

java 代码片段【JAVA】

# Java 常用代码片段

# Java 常用代码片段

创建片段而不从 java 代码实例化它