繁体   English   中英

在main方法中访问的类的私有成员

[英]Private member of class accessed in main method

假设我们有以下代码:

 public class TestScope {
      private int a = 1;
         public static void main(String[] args) {
           TestScope ts = new TestScope();
           ts.a = 6;
           System.out.println(ts.a);
        }
    }

为什么在线: ts.a = 6; 我可以访问私有变量a吗? 我认为私有成员无法在外部访问。 我不会低估这个例子。

静态方法仍被视为声明它们的类的一部分,因此可以访问私有方法/字段。

如果您在另一个类中具有main方法(或任何其他静态方法或实例方法),则实际上将无法访问a。

这是因为amain(String[])都是类TestScope的定义的TestScope

私有意味着只能在类定义内部访问变量或方法。 a是实例变量的事实并不意味着它不能被同一类中的静态公共方法访问。

如果public static void main(String[])位于其他类中,则它将无法访问tsa ,因为a被其他类隐藏了。

静态方法被认为是其所在类的“一部分”,因此可以通过私有方式访问它的实例。 几天前在这里也解决同样的问题。

你不在外面,你在同一堂课。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM