java中对象和类之间的关系

时间:2013-11-04 03:39:06

标签: java

Alpha.java

class Alpha {
  private void iamprivate() {
    System.out.println("iamprivate");
  }
}

Beta.java

class Beta {
  void accessMethod() {
    Alpha a = new Alpha();
    a.iamprivate();     // illegal
  }
}

Alpha类的实例应该包含该类的所有变量和方法。

但是,为什么我们不能调用所有对象的方法? 仅仅因为某些方法是私有的?

看起来类的实例没有类的定义之外的类的私有成员。

对不起,我是初学者。这个问题可能很愚蠢。

3 个答案:

答案 0 :(得分:1)

您的方法是私密的

private void iamprivate() {

它只能在你的类中使用,而不能通过实例使用。将其更改为public

答案 1 :(得分:1)

这是因为该方法是private。这些只能通过Alpha类的方法访问。如果要在另一个类中访问它,则需要将其声明为public

在此处阅读更多内容:http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

答案 2 :(得分:1)

  

但是,为什么我们不能调用所有对象的方法?只因为一些   方法是私有的?

私有方法不会暴露给外部世界,但您始终可以在类中调用私有方法。

  

看起来类的实例没有类的私有   成员定义之外的成员。

班级拥有所有属性,无论他们是私人/公共。只是私人成员被限制在课外访问。