黑马程序员技术交流社区

标题: 对内部类的总结 [打印本页]

作者: 扬帆起航fonnson    时间: 2016-7-3 15:02
标题: 对内部类的总结
最喜欢老师讲课时的画图时间,轻松易懂有木有!
定义:就是在类的内部定义一个类
创建内部类对象:外部类名.内部类名 xx = 外部类对象.内部类对象

访问私有内部类的属性或方法需要在外部类定义一个方法来实现。
访问静态内部类的属性或方法:1、外部类名.内部类名 xx = 外部类名.内部类对象,通常把new提至=右边。2、外部类名.内部类名.属性(方法)。
内部类访问外部类属性或方法可以可用外部类名.this.属性或方法实现。

局部内部类(方法中的类)
在访问这个方法中的局部变量,变量需用final修饰。
因为当调用这个方法时,局部变量如果没有用final修饰,他的生命周期和方法的生命周期是一样的,当方法弹栈,这个局部变量也会消失,那么如果局部内部类对象还没有马上消失想用这个局部变量,就没有了,如果用final修饰会在类加载的时候进入常量池,即使方法弹栈,常量池的常量还在,也可以继续使用
但是jdk1.8取消了这个事情,所以我认为这是个bug

匿名内部类是局部内部类的一种,是一个继承一个类或实现一些接口的子类匿名对象。只针对一个方法时使用。
new 类名或接口名(){};
作者: yw201605    时间: 2016-7-3 15:38
抢个沙发,赞一个
作者: 秦洁    时间: 2016-7-3 18:41
不错,很好的理解思路




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2