java - 为什么我可以从 main 方法访问私有(private)变量?

标签 java variables private program-entry-point

package com.valami;

 public class Ferrari
 {
  private int v = 0;


  private void alam()
  {
   System.out.println("alam");
  }

  public Ferrari()
  {
   System.out.println(v);
  }



  public static void main(String[] args)
  {
   Ferrari f = new Ferrari();
   f.v = 5;
   System.out.println(f.v);
  }

 }

大家好! 我有一个简单的问题……为什么我可以从 main 方法访问私有(private)变量?我知道,我在包含类中,但它是主要的。我相信 main 不是包含它的类的一部分......那么我不会联系私有(private)成员,但我可以......为什么? 请帮助...thx

最佳答案

类可以访问相同类型的(其他)对象的私有(private)实例变量。

也可以是下面的

public class Foo {

    private int a;

    public void mutateOtherInstance(Foo otherFoo) {
        otherFoo.a = 1;
    }
}

您可能会争论这是否可取,但这只是 JLS 规定这是合法的生活规则。

关于java - 为什么我可以从 main 方法访问私有(private)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4707504/

相关文章:

java - Kafka生产者无法向服务器发送数据

java - 更改 JLabel 中某些文本的颜色

string - 批量扩展变量不能在子字符串替换函数中使用

ios - GSSendEvent - 注入(inject)触摸事件 iOS

java - 如何在Java中将 ""(空格)存储在 `int`数组中

php - 美元 ($) 登录密码字符串被视为变量

SQL查询后PHP var_dump NULL错误

ssl - JBoss 5 - CA 签名证书导致 java.io.IOException : excess private key

Java 重写私有(private)函数不显示多态行为

java - Android SDK 更新失败,说-> http ://dl-ssl. google.com/android/repository/repository.xml 的 XML 验证失败