Java 为什么不';子类中可用的继承属性
我试图在子类中使用名为value的成员变量 我的超类称为SType,子类称为SResource 我在超级类SType中有一个名为Java 为什么不';子类中可用的继承属性,java,inheritance,Java,Inheritance,我试图在子类中使用名为value的成员变量 我的超类称为SType,子类称为SResource 我在超级类SType中有一个名为value 我希望这个被子类继承,我如何做到这一点。这个班看起来像这样 public class SType { private String value; public String getValue(){ return this.value; } public void setValue(String value)
value
我希望这个被子类继承,我如何做到这一点。这个班看起来像这样
public class SType {
private String value;
public String getValue(){
return this.value;
}
public void setValue(String value){
this.value = value;
}
}
注:我对问题进行了编辑以使其更清楚(给出以下评论)。感谢这是一个简单的解决方案,只需将变量
设置为受保护的
而不是“private”就可以访问子类中的超类变量,它必须声明为公共的或在超类中受保护的。
也许你的是私人的
当您在子类中有
私有字符串值时-这是一个全新的变量-它不是来自父类的变量,也就是说,您有两个不同的私有变量(我假设超类是私有的)。为了访问子类中的超类变量,它必须在超类中声明为公共或受保护。
也许你的是私人的
当您在子类中有私有字符串值时-这是一个全新的变量-它不是来自父类的变量,也就是说,您有两个不同的私有变量(我假设父类是私有的).您可以-将其设置为受保护而不是私有。您可以-将其设置为受保护而不是私有。请尝试以下操作,而不是私有:
protected String value;
b、 cos private只能访问当前类。
而投影可以访问子类
您的问题是恰当的,但java中private的含义是保护当前变量或方法不受类外部的影响。请尝试以下操作,而不是private:
protected String value;
b、 cos private只能访问当前类。
而投影可以访问子类
您的问题是恰当的,但java中private的含义意味着保护当前变量或方法不受类外的影响。我很难理解这个问题。你能编辑你的问题,提供父类、子类和一段简短的代码来演示你想要发生什么吗?我很难理解这个问题。您是否可以编辑您的问题以提供父类、子类和一段简短的代码来演示您希望发生的事情?