java内部类

    xiaoxiao2023-10-26  164

    class inner{ private int num=10; private class outer{//在成员位置为成员内部类,一般为私有不允许访问用static修饰是为了方便访问 public void show(){ System.out.println(num);//内部类可以访问私有变量 } } public void showq(){//造方法访问私有内部类 outer o=new outer(); o.show(); } } class test{ public static void main(String[] args) { inner i=new inner(); i.showq(); } }

    匿名内部类,方便及时回收

    interface inner{ public abstract void test(); public abstract void tes(); } class test1{ public void name() { inner i =new inner() {//实际是抽象类的实现类或者接口的实现类,在类中重写了方法然后用类调用方法.此处用多态调用方法 public void test() { System.out.println("xx"); } public void tes(){ System.out.println("cc"); } }; i.tes(); i.test(); } } class test{ public static void main(String[] args) { test1 t=new test1(); t.name(); } }

    匿名内部类用处;

    interface person{ public abstract void study(); } class demo{ public void method(person p){ p.study(); } } class test{ public static void main(String[] args) { demo a=new demo(); a.method(new person(){//传入的是实例,便于程序结束自动销毁,实际发生了多态,否则要找实体类new传参 public void study(){ System.out.println("匿名内部类的用处"); } }); } }

     

    最新回复(0)