黑马程序员技术交流社区

标题: 静态内部类及其作用是什么? [打印本页]

作者: 刘冬    时间: 2015-5-12 17:44
标题: 静态内部类及其作用是什么?
静态内部类的作用是什么?
作者: 年华虚度    时间: 2015-5-12 20:59
需要了解2个概念:内部类和静态修饰符static
1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。
2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。
这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。

以下举例说明怎么使用:
Student类有个叫School的内部类(非静态)
Student stu = new Student();
stu.School sch = new stu.School();
sch就是School的一个对象。

假如School是内部静态类:
Student.School sch = new Student.School();
作者: !85684009ex    时间: 2015-5-12 21:32
我忘记了!但很明确的告诉你!内部类用处很少!
作者: 尹佳鑫    时间: 2015-5-12 22:10
你要记住以下两点就行了,记多了容易混淆:
1.静态内部类不能访问外部类的实例成员,只能访问外部类的类成员。即使是静态内部类的实例方法也不可以访问外部类的实例成员

2.外部类不能 直接 访问静态内部类的成员,但有两种方法可以使用
-----StaticInnerClass.静态类的类成员
-----new StaticInnerClass().静态类的实例成员

作者: 代码搬运1号    时间: 2015-5-12 22:17
学到了!!!!!!!
作者: Melo    时间: 2015-5-12 22:51
静态内部类最先执行把
作者: youngzk    时间: 2015-5-12 23:17
我的内部类还没有消化聊呢   来学习




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