内部类和匿名类
来源:互联网 发布:北大青鸟java人机猜拳 编辑:程序博客网 时间:2024/05/22 13:07
内部类在外部类中有特权:内部类可以毫无限制地访问外部类的所有成员。
编译之后,内部类也可产生
单独的.class文件,文件名为:外部类名$内部类名.class例5.22 内部类使用示例。
public class
OuterClass {
private int x=10;
class InnerClass{
int
y=20;
}
public static void main (String[] args){
OuterClass oc=new OuterClass();
OuterClass.InnerClass ic=oc.new InnerClass();
System.out.println("Outer:x="+oc.x);
System.out.println
("InnerClass:y="+ic.y);
}
}使用内部类在编写事件处理驱动的程序时用起来很方便。
只有
内部类才能够是私有的--安全机制,只有其外部类的方法才能够创建内部类对象。 如果只需要为内
部类建立一个对象,甚至不必为该类指定一个名字,这种类被称为匿名内部类。
如果满足下面的
一些条件,使用匿名内部类是比较合适的:
只用到类的一个实例
类在定义后马上用到
类非常小(推荐
在4行代码以下)
给类命名并不会导致你的代码更容易被理解
匿名类不能是抽象类,因为系统在创建匿名类的时候,会立即创建匿名类的对象。因此不允许将匿名类
定义成抽象类。
匿名类不能有构造方法,因为匿名类没有类名,无法定义构造方法,但匿名类可以定义
实例初始化块,通过实例初始化块来完成构造方法需要完成的事情。
匿名类不能定义任何静态成员、
方法和类;
匿名类不能是public、protected、private、static;
只能创建匿名类的一个实例。
- 内部类和匿名类
- 内部类和匿名类
- 内部类和匿名类
- 内部类和匿名类
- 内部类和匿名类
- 内部类和匿名类
- JAVA 匿名类和内部类 、匿名内部类
- JAVA中的匿名类、内部类和匿名内部类
- 匿名类和匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类,内部类,匿名内部类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- 吃豆人部分代码分析
- Cross Compiling Python for Embedded Linux
- 如何解决cocos2d-x显示瓦片地图黑线的问题
- Java中"equals"和"=="的区别
- c#让窗口停靠在桌面上
- 内部类和匿名类
- VMWAR ESX 常用命令
- 2012.4.17内存相关
- 使用Exchange 2010 默认的命令获取Activesync 的日志信息!
- poj 2151 Check the difficulty of problems
- Hadoop权限管理
- 宠物城堡抢先评测:LBS宠物小精灵
- 大话设计模式之设计模式遵循的七大原则
- Shell编程基础