无法访问内部类的公共变量...它是从父类继承的

发布于 2024-11-01 03:44:49 字数 503 浏览 0 评论 0原文

Java 问:我无法访问父类的内部类 foo 中的公共变量。为什么?接下来是设置(为简洁起见,使用伪编码):

public class PageObject  
{  
    public class Button  
    {  
        public String foo ="I want this string."  //can't access....  
    }  
    ....other stuff I can access here...  
}  

public class worker
    {  
    public PageObject p = new PageObject();  
    }  

public class workerchild extends worker  
{  
    p.Buttons.    <---don't have access to Buttons public variables, only .class, etc.  
}  

Java Q: I can't access a public variable in my parent's class' inner class called foo. Why? setup is next(pseudo coded for brevity):

public class PageObject  
{  
    public class Button  
    {  
        public String foo ="I want this string."  //can't access....  
    }  
    ....other stuff I can access here...  
}  

public class worker
    {  
    public PageObject p = new PageObject();  
    }  

public class workerchild extends worker  
{  
    p.Buttons.    <---don't have access to Buttons public variables, only .class, etc.  
}  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾夏年华 2024-11-08 03:44:49

p.Button 是一个类名。
与任何其他类名一样,它只能用于访问静态成员。

您需要获取 Button 类的实例。 (例如,p.new Button().foo

p.Button is a classname.
Like any other classname, it can only be used to access static members.

You need to get an instance of the Button class. (eg, p.new Button().foo)

瑶笙 2024-11-08 03:44:49

首先,您的内部类称为 Button(单数),而不是 Buttons(复数)。其次,将内部类设置为静态并将 foo 成员设置为常量,您将能够以 Button.foo 的形式访问 foo 成员,你只是无法改变它的值。

First off, your inner class is called Button (singular), not Buttons (plural). Second, make the inner class static and the foo member a constant and you will be able to access the foo member as simply Button.foo, you just won't be able to change its value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文