代码之家  ›  专栏  ›  技术社区  ›  Mohamad Alhamoud

使用对象访问私有方法

  •  3
  • Mohamad Alhamoud  · 技术社区  · 14 年前


    public class Main{
        private void method()
        {
            System.out.println("inside method");
        }
        public static void main(String[] args) {
        Main obj = new Main();
        obj.method();
        }
    }
    

    为什么我们在类中时可以使用类中的对象访问私有方法,而不能在类外访问?(我是说逻辑上的原因是什么?)

    另一个例子是: main

    3 回复  |  直到 14 年前
        1
  •  6
  •   Adeel Ansari    14 年前
    1. 因为它是私人的。类本身可以使用其私有属性和行为。外部类不能使用它的原因是为了阻止外部类干涉私人事务。很简单,不是吗?

    2. obj 它肯定会抱怨的。顺便说一下,谁说你不能从 静态法 . 实际上不能在中调用非静态方法 .

        2
  •  3
  •   Adam Robinson    14 年前

    private 手段。这个 私有的 关键字表示该成员是可访问的 `, 仅在包含 实例 . 您可以自由地对自己(最常见的)或相同或派生类型的其他实例(如您所示)调用私有方法。

    obj ).

        3
  •  2
  •   M.J.    14 年前

    回答第二个问题:- 您是通过该类的对象调用该方法的,但是如果您直接调用该方法,它将给您一个错误,用于从静态方法访问非静态方法。

    从类内部调用方法时,类可以使用其私有成员