A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贺洪京 黑马帝   /  2011-11-7 13:13  /  1801 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个内部类可以继承其他的类吗?可以实现其他的借口吗?高手们请指点一下

4 个回复

倒序浏览
本帖最后由 史晓霞 于 2011-11-7 13:26 编辑

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

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
能具体的举个例子吗?谢谢
回复 使用道具 举报
内部类既可又继承其它类,也可又实现其它结果,
  1. class Person {
  2.         public void cry() {
  3.                 System.out.println("cry!!");
  4.         }
  5. }
  6. public class InnerClass {
  7.         public static void main(String[] args ) {
  8.                 InnerClass.Student s  =  new InnerClass().new Student();
  9.                 s.cry();
  10.                 s.study();
  11.         }
  12.         class Student extends Person {
  13.                 public void study(){
  14.                         System.out.println("study!!!");
  15.                 }
  16.         }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

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

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马