其他类通过接口访问内部类成员(JAVA的保护)

来源:互联网 发布:flush软件 编辑:程序博客网 时间:2024/04/27 22:31
package luo;
interface Out{
 public void f();
}
class Class2
{
   private class innerClass implements Out//非内部类不能声明为private与protected
   {
    innerClass(String s){
     System.out.println(s);
    }
    public void f()
    {
     System.out.println("访问内部类中的f()方法");
    }
   } 
   public Out doit() {
    return new innerClass("访问内部类的构造方法");
   }
}
public class yong{
 public static void main(String []args)
 {
  Class2 outer=new Class2();
  Out inter=outer.doit();//用外部类方法返回内部类向下转型为接口,接口在调用内部类覆盖接口的方法
  inter.f();
 }
}
//从权限来看,仅有外部类能访问内部类中的函数,通过外部类doit()返回一个接口,内部类覆盖了接口的方法,这外部类可以通过接口访问内部类函数
阅读全文
0 0
原创粉丝点击