内部类

2017-11-18  本文已影响7人  地表最强程序员小白

成员内部类

//外部类
public class outer {
    //外部类的变量,内部类可以访问
    int i=5;
    //内部类
    public  class inner{
        //方法用来访问并返回外部类变量i
        int geti(){
            return i;
        }
    }
    //外部类的方法用来创建内部类实例
    public inner getclass(){
        return new inner();
    }
    public static void main(String[] args){
        //通过先创建外部类实例来创建内部类实例,注意"."
        outer out=new innerclasstest();
        outer.inner in=out.getclass();
        System.out.println(in.geti());
    }
}

局部内部类(定义在方法内和定义在作用域内的类)

暂无

匿名内部类

public class Outer{
    public Inner getInner(int i){
        // new Inner(){}        即返回一个Inner的子类类实例
        return new Inner(){
            int num=i+3;
            public int getNumber(){
                return num;
            }
        };
    }
    public static void main(String[] args){
        Outer out=new Outer();
        Inner in=out.getInner(5);
        System.out.println(in.getNumber());
    }
}
//必须有这个接口(直接当作类???)
interface Inner{
    int getNumber();
}
上一篇 下一篇

猜你喜欢

热点阅读