美文网首页
java 子类所覆盖的变量和方法区别

java 子类所覆盖的变量和方法区别

作者: 南土酱 | 来源:发表于2019-04-22 10:49 被阅读0次

本文由个人自行总结,各位大神如有不同建议欢迎指出,也希望能给个关注


\color{red}{本次主题是总结一个关于子类覆盖小知识。是关于成员变量和方法的调用问题,话不多说,先看测试代码}

public class Test{
    public static void main(String[] args) {
        Car bmw = new BMW("宝马x5");
        System.out.println(bmw.name);
        bmw.prin();
        System.out.println(bmw.ffInteger);
        System.out.println( bmw.getClass());
    }
}

java console 打印结果: 我是父类构造无参 我是子类构造 汽车 子子 5 class exercise.BMW

class Car {
    String name = "汽车";
    Integer ffInteger = 5;
    Car(String name){
        name = this.name;
        System.out.println("我是父类构造");
    }
    public Car() {
        System.out.println("我是父类构造无参");
    }
    void prin() {
        System.out.println("爸爸");
    }
}

class BMW extends Car{
    String name = "宝马";
    Integer ffInteger =226;
    BMW(String name) {
        this.name = name;
        System.out.println("我是子类构造");
    }
    void prin() {
        System.out.println("子子");
    }
}

我们可以看到。对于成员变量 name 和方法 prin() 而言.通过 new BMW() 实例调用之后, 成员变量输出的 父类 Car 的值, 方法打印的却是子类 BMW 的值。并且父类只调用了无参的构造方法。不要错误的认为父类的有参构造方法也会被调用,除非你自己显式的调用了。
对于父类和子类有相同的成员变量和方法。 调用方法总是优先调用子类的方法,成员变量看谁对实例进行了引用,本例子是父类进行了引用: Car bmw ,so 调用的是父类的值

相关文章

  • java 子类所覆盖的变量和方法区别

    本文由个人自行总结,各位大神如有不同建议欢迎指出,也希望能给个关注 java console 打印结果: 我是父类...

  • java相关

    1、Java向上转型之后调用子类的同名变量/方法的问题 总结:方法可重写,属性不可重写。父类的方法被子类覆盖,父类...

  • 覆盖 隐藏

    覆盖和隐藏的区别 覆盖是对于实例方法而言的子类的静态方法也不能覆盖父类的实例方法(编译时报错)方法不能交叉覆盖:子...

  • Java成员覆盖

    当子类覆盖父类的成员变量时,父类方法使用的是父类的成员变量,子类方法使用的是子类的成员变量。 这个听起来很容易理解...

  • Java自学-接口与继承 隐藏

    Java中的方法隐藏 与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法 步骤 1 :...

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • 2018-07-10

    JAVA重写的条件 条件: 子类继承父类,并重写父类的方法 1、 重写要求子类中的覆盖方法与父类中被覆盖的方法有...

  • 重写和重载

    概念 重写:又称覆盖,是子类继承父类的属性和方法后,因子类的方法可能会因子类自身特点而特殊化,但又是子类所必须具有...

  • Java07继承

    继承 关键字extends子类继承父类,子类拥有父类的成员变量和方法。Java中所有的类最终都继承与java.lo...

  • 继承

    覆盖方法 超类中有些方法对于子类并不适用,为此子类需要覆盖超类的方法。 子类和超类方法签名(方法名+参数列表)相同...

网友评论

      本文标题:java 子类所覆盖的变量和方法区别

      本文链接:https://www.haomeiwen.com/subject/gqoegqtx.html