A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨青 中级黑马   /  2013-6-2 21:20  /  1408 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么要出现内部类啊,内部类在什么时候有用?匿名内部类在什么时候使用?
求解释!!

2 个回复

倒序浏览
一般在一下情况使用内部类:
  1、实现事件监听器的时候(比方说actionListener 。。。采用内部类很容易实现);
  2、编写事件驱动时(内部类的对象可以访问外部类的成员方法和变量,注意包括私有成员);
  3、在能实现功能的情况下,为了节省编译后产生的字节码(内部类可以减少字节码文件,即java文件编译后的.class文件);

以下情况使用匿名内部类:
   匿名内部类是内部类的一种特殊情况。它只有一个实例,而且没有引用。所以,一般在能用内部类实现,但是实例只用一次的情况下使用它(可以减少资源开销);
回复 使用道具 举报
如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口。由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能。
而java通过内部类加上接口,可以很好的实现多继承的效果。
内部类的使用

      1、实现事件监听器的时候(比方说actionListener 。。。采用内部类很容易实现);

      2、编写事件驱动时(内部类的对象可以访问外部类的成员方法和变量,注意包括私有成员);

      3、在能实现功能的情况下,为了节省编译后产生的字节码(内部类可以减少字节码文件,即java文件编译后的.class文件);



匿名内部类的使用
       匿名内部类是内部类的一种特殊情况。它只有一个实例,而且没有引用。所以,一般在能用内部类实现,但是实例只用一次的情况下使用它(可以减少资源开销);

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马