首页 > 解决方案 > 如何使变量可以从子类而不是实例 java 访问?

问题描述

我有3节课。在 1 个类中,我创建了一个从超类继承的子类的实例。如何使我的变量对我的子类可访问,而它对子类的实例不可用?(像静态但只在多个类上。我是java新手,所以至少我是这么认为的。)

public class Super {
    protected int myInt; //Struggling here
}

public class Sub {
    // Like to use the myInt in the super in a method here
}

public class MainPage {
    Sub obj = new Sub();
     int x = obj.myInt; //This should not happen
}

标签: java

解决方案


受保护的范围可以从同一包中的所有类以及任何包中的子类访问。将SuperandSub放入一个单独的文件中,您就拥有了您想要的东西(好吧,如果class Sub extends Super)。

从您的示例实际上并不清楚包私有(默认)范围是否也适合您的需求。


推荐阅读