好吧,这是一个很有意思的标题。不过,这让我明白了我的意思。以下是我的代码要点,在罐子里:
public class NetworkShared {
public static class LoginRequest {
public String Username;
//...
然后,为了访问它,我正在做这样的事情:
NetworkShared.LoginRequest request = new NetworkShared.LoginRequest();
request.Username = "example"; //this is the problem line
这是我尝试访问请求的时候。我的用户名有问题。Eclipse表示字段NetworkShared.LoginRequest.Username不可见。我很困惑,因为它一直都是公开的。Java不是我的主要语言,所以我可能遗漏了一些东西。有人知道吗?
编辑:我可能会在安卓系统上添加这个。NetworkShared在它自己的JAR中,我已经将它添加到构建路径中。除了访问请求之外,没有其他错误。用户名。
结论:这似乎是引用JAR的Eclipse刷新问题。
它应该起作用。顶级类隐含地为static
,因此基本上NetworkShared.LoginRequest
是标识LoginRequest类的正确方法。你做这件事的方式是正确的。
我的答案不是eclipse问题,而是Java问题,所以至少你可以摆脱与Java相关的担忧。
除了你的eclipse可能有一个bug(也不是第一个)之外,你能在你的eclipse中编译以下代码吗?您可能已经将原始代码精简为实际工作的代码。
NetworkShared.java
public class NetworkShared {
public static class LoginRequest {
public String Username;
}
}
Test.java
public class Test {
public static void main(String[] args) {
NetworkShared.LoginRequest o = new NetworkShared.LoginRequest();
o.Username = null;
}
}