匿名内部类

使用接口创建出来的而非使用类实现接口出来的就是匿名类了。 
因为接口是无法new的,而使用接口new对象实际是就是产生了一个没有进行命名的类,而这种类就叫做匿名类了。 
interface Abc{ 
      public void fn(); 
} 
class Test{ 
      void fn(){ 
            //这里的new Abc()就是一个匿名类,由接口直接产生,而未通过class XXX implements Abc得到 
            new Abc(){ 
                public void fn(){} 
            } 
      } 
} 
内部类实际上就是在一个类中定义了一种新的数据类型,当这种数据类型没有被使用时,JVM不会加载它,换句话说,内部类也是一种类,不使用就不加载,只不过它的格式特殊一些而已,单从JAVA编译后的形态来看,内部类独立成一个.class文件,只不过类名是:外部类名$内部类名.class。所以内部类操作时和普通类是一样的,完全满足普通类的各种加载释放原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值