黑马程序员技术交流社区

标题: 关于内部类的问题 [打印本页]

作者: 贺洪京    时间: 2011-11-7 13:13
标题: 关于内部类的问题
一个内部类可以继承其他的类吗?可以实现其他的借口吗?高手们请指点一下
作者: 史晓霞    时间: 2011-11-7 13:17
本帖最后由 史晓霞 于 2011-11-7 13:26 编辑

可以,她和其他类的不一样是它出现在类的内部,
1.内部类可以直接访问外部类中的成员,包括私有
2.外部类要访问内部类,必须建立内部类对象
3.当内部类在成员位置上,就可以被成员修饰符所修饰。
比如:private :将内部类的外部类中进行封装。
static:内部类就具备static的特性。
当内部类被静态修饰后,只能直接访问外部类中的static成员。出现了访问局限。

作者: 贺洪京    时间: 2011-11-7 13:24
能具体的举个例子吗?谢谢
作者: 路新    时间: 2011-11-7 13:35
      在java语言中,有一种类叫做内部类(inner class),也称为嵌入类(nested class),它是定义在其他类的内部。
内部类作为其外部类的一个成员,与其他成员一样,可以直接访问其外部类的数据和方法。只不过相比较
外部类只有public和默认的修饰符不同,内部类作为一个成员,可以被任意修饰符修饰。编译器在编译时,
内部类的名称为OuterClass$InnerClass.class 。
   既然是一个类那么他就可以继承一个其他类或实现接口。一般情况下 当我们需要在某一情形下实现一个接口,
而在另一情形下又不需要实现这个接口时,我们可以使用内部类来解决这一问题。让内部类来实现这个接口。另
外一个很好的理由是java内部类加上接口可以有效地实现多重继承。






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