Java编程思想-6

Java编程思想

内部类
将一个类定义在另外一个类的内部,这就是内部类。静态内部类,被static关键字修饰的内部类。

1、创建内部类和链接到外部类

内部类最基本的创建方式,就是在类的内部创建一个类。其宿主类需要创建该内部类的实例对象,才可以使用。而内部类可以任意使用其宿主类的方法和属性。内部类可以使用”宿主类.this”的方式使用宿主类对象。当在宿主类之外使用它的内部类时,需要使用宿主类的实例对象再加.new的方式来构建其内部类对象。如:

Pubic class OutClass{
 Class InnerClass{}
}
OutClass. InnerClass innerClass = new OutClass().new InnerClass() ;

内部类编译后生成的class文件,OutClass InnerClass.classclassOutClass 数字.class.

2、内部类的创建位置

  • 1,创建在类中,类似以类的属性和方法。
  • 2,创建在方法中。
  • 3,创建在一个作用域中。
  • 4,匿名内部类

3、匿名内部类

没有确定名称的内部类。这些类的原型应该是继承别的类或者实现一个接口而产生的新类。匿名内部类使用外部类的对象引用要将外部类的对象引用定义为final类型。匿名类中不允许修改其所使用的外部类的引用以及变量。(原因暂时不详)

4、嵌套类(静态内部类)

静态内部类和普通内部类的差别:1)外部创建其对象时,无需使用外部类的对象来实例化。2)不能随意访问外部类的非静态成员变量和方法。
接口中的内部类默认也是静态内部类。可以在接口的内部类中实现该接口。

5、内部类存在的意义

意义1:完美的解决了类的多继承问题,因为内部类可以继承外部类所要继承的类。并且在外围类中可以创建很多个内部类的对象。
意义2:提供访问外围类的窗口。

6、闭包和回调

闭包:一个可调用的对象,它记录了一些信息,这些信息来源于创建它的作用域。简而言之就是,一个对象,包含了创建者的信息。
回调:一些匿名内部类可以很好的实现回调,尤其在事件处理过程中。

7、内部类的继承

内部类的继承一定要有外围类的对象。在继承过程中内部类不能被覆盖,因为他们所属于的内部命名空间不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧阳小伙

您的打赏是我创作的:最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值