2012-03-11 106 views

回答

3

默认的修饰符(只是不写public/private/protected)只允许从包内访问。 (看一看here

但是,通常避免直接访问变量是一种很好的做法。

编辑:

回应的意见,如果你想在不创建一个对象来访问这个变量,那么它应该是静态的:

package com.some.package; 
public class MyClass { 
    static int someInt = 1; 
} 

然后访问它,你需要有资格它由类:

package com.some.package; 
public class AnotherClass { 
    public void someMethod() { 
     int i = MyClass.someInt; 
       //^^^^^^^ 
    } 
} 
+0

谢谢,但我做到了这一点,变量仍然不知道第二类: //第一类 public int casedurationpublic; //第二类 int i = 2 - casedurationpublic; – Samiah 2012-03-11 12:21:59

+0

其实第二堂课在casedurationpublic中显示错误! – Samiah 2012-03-11 12:22:59

+0

我回答了提出的问题,请参阅编辑。 – MByD 2012-03-11 12:27:08

0

静态<类型> <变量名>;

如果您不提供访问修饰符,则默认为包私有。这意味着该变量仅对同一包中的成员可见。

+1

静态与它有什么关系?修饰符的访问规则适用于实例成员以及静态成员。 – MByD 2012-03-11 12:10:53

+0

他写了“所有班级”,所以我认为他想要一个静态访问。静态当然可以省略。 – 2012-03-11 12:12:42

相关问题