对象的引用调用private类型函数的问题

public class Test1{
 private void f(){
  System.out.println ("private f()");
 }
 public static void main (String[] args) {
  Test1 po=new Test1();
  po.f();
 }
}

疑问:为何在类Test1中,创建他本身的对象的时候,其对象的引用可以直接调用类Test1中的private方法?

public class Test2{
 
 public static void main (String[] args) {
  PrivateTest po=new PrivateTest();
  po.f();
 }
}
class PrivateTest{
 private void f(){
  System.out.println ("private f()");
 }
}

上述代码中类PrivateTest中的方法为private,故po.f()无法调用。

你可能感兴趣的:(java,class,string)