为什么当我阅读其他代码时,我经常看到广泛使用"全局变量"?
例如在Java代码中:
public class SomeClass {
Button btn1;
private void someMethod() {
btn = new Button();
}
}
Run Code Online (Sandbox Code Playgroud)
btn1
被声明为"全局"和"方便"变量,可用作整个班级的轻松访问.但是当它上面没有修饰符时,它默认为Java中的默认访问.
这可能是安全隐患吗?如果他们只计划在一个特定的类中使用它们,为什么不立即用私有修饰符声明它们呢?
这是我无法理解的.
在java.lang.Object
所述clone()
与定义protected
改性剂.根据定义,它可以通过名称在其自己的类定义中访问,通过名称在从它派生的任何类中,并通过名称在同一个包中的任何类的定义中.
这里的Sample
类在另一个包中,显然它无法clone()
从Object
类中访问.但是,由于Sample
隐含地来源Object
,为什么它无法访问它?该定义并未说明它必须满足两个条件(在同一个包内并且也是一个子类).
public class Sample {
public Object foo() throws CloneNotSupportedException {
...
return someObject.clone();
}
}
Run Code Online (Sandbox Code Playgroud)