内部类

内部类:

          定义: 类可以在其他类中定义。这样的类可以是完整的类定义或者是 “匿名内部类”定义。

用途: 

1.  主要用来进行GUI事件处理。

2. 在一些抽象数据类型的实现就可以用内部类来表示队列中当前存储每个数据的对象。

特点:

1. 内部类对象与创建它的外部类对象之间有特殊的关系。内部类对象可以直接访问外部类对象的所有实例变量和方法。

2. 内部类也可以在类的方法中定义,这样的内部类可以访问它的外部类所有实例变量和方法以及 该方法中的 所有final局部变量。但对定义它的方法中局部变量的访问将受到限制。

3. 当匿名内部类实现一个接口时,它必须定义接口中的每个方法。

内部类的注释:

1. 含内部类的类在编译时将为每个内部类生成独立的 .class 文件。有名字的内部类的文件名为“外部类名$内部类名.class” ;匿名内部类的文件名为“外部类名$#.class”,其中,#是编译器给每个匿名内部类的编号,从1开始,依次递增。

2. 具有类名的内部类可以定义为 public protected ,包访问 或 private,其使用限制和其他类成员相同。

3. 为了访问外部类的this引用,可以使用“外部类名.this”。

4. 【内部类的创建】——外部类负责创建它的内部类对象。为了创建另一个类的内部类的对象,首先创建这个外部类的一个对象,并把它赋给一个引用(假设为 ref),然后可用下属形式来创建内部类的对象:

a) 外部类名.内部类名innerRef = ref.new 内部类名();

5. 内部类可以声明为 static Static 内部类不要求定义其外部类的对象(但是非 static 内部类却要求这样)。Static 内部类不能访问外部类的非 static 成员。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值