您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java继承字段

Java继承字段

首先,请参见添加了重点)

一个类中,与超 同名的字段会 ,即使它们的类型不同

换句话说,这是不是“遗产”,因为你实际上隐藏Ai背后Bi,和你正在使用的参考对象A,所以你得到它的领域。如果这样做了B b =new B(),您将看到20预期的效果

如果期望真正的替代,请尝试使用方法

class A {
    public int get() { 
        return 10; 
    }
}

class B extends A {
    @Override 
    public int get() { 
        return 20; 
    }
}

看到

A a = new B();
System.out.print(a.get()); // 20

如果您真的想一次看到两者,请参见以下示例。

class A {
    int i = 10;
}

class B extends A {
    int i = 20;

    @Override 
    public String toString() { 
        return String.format("super: %d; this: %d", super.i, this.i);
    }
}

A a = new B();
System.out.print(a); // super: 10; this: 20
java 2022/1/1 18:16:36 有409人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶