首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 内部类,匿名内部类施用

2012-09-28 
java 内部类,匿名内部类使用public class Test4 {//类里的内部类class Inner1{private String namepublic

java 内部类,匿名内部类使用
public class Test4 {
//类里的内部类
    class Inner1{
private String name;
public void say(){
System.out.println("我是类里的内部类,只能本类里的方法可以访问");
}
}
    //在方法里访问类里的内部类
    public void test(){
    Inner1 in1 = new Inner1();
in1.name = "aaaaaaaa";
in1.say();
//Inner2 in2 = new Inner2();//不能访问
//in2.say();
    }
    //方法里的内部类实例调用
    public void test2(){
    //方法里的内部类
    class Inner2{
private String name;
public void say(){
System.out.println("我是方法的内部类,只能在这个方法里访问");
}
}
Inner2 in2 = new Inner2();
in2.say();
    }
    //静态内部类
    static class Inner3Static{
    private String name;
public void say(){
System.out.println("我是类里的静态内部类,不需要外部类实例获得");
}
    }
    //匿名内部类
    public testI test3(){
    return new testI(){
    public void test1(){
    System.out.println("我是实现接口的匿名内部类");
    }
    };
    };
public static void main(String...strings){
Test4 T = new Test4();
T.test();
T.test2();
//访问内部类
Inner1 in2 = T.new Inner1();;
in2.say();
//Inner1 in2 = new Inner1();//不能访问
//in2.say();
//Inner2 in2 = new Inner2();//不能访问
//in2.say();
//访问静态内部类
Inner3Static in3 = new Inner3Static();
in3.say();
T.test3().test1();//调用匿名内部类的实现方法
}
}
interface testI{
void test1();
}

热点排行