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();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值