小编mde*_*ino的帖子

有没有办法从超类访问子类元素?

我需要一个将在子类中使用的类中的方法,尽管该方法使用的是在子类中更改的属性。有没有一种方法可以访问子类的属性而不必重写该方法?

我已经尝试过使用该属性的吸气剂,但得到相同的结果。

public class SuperClass {
    private static final String a = "Super";

    public void superMethod(){
        System.out.println("SuperMethod: " + a);
    }

}

public class ChildClass extends SuperClass {

    private static final String a = "Child";

}

public class Main {
    public static void main(String[] args) {
        SuperClass s = new SuperClass();
        ChildClass c = new ChildClass();
        s.superMethod();
        c.superMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台显示:

超级方法:超级

超级方法:超级

预期结果是:

超级方法:超级

超级方法:子级

java

0
推荐指数
1
解决办法
110
查看次数

标签 统计

java ×1