colin

busy to live or busy to die

Java语言基础:内部类

 

1.  普通内部类
  • 普通内部类的一个最简单的例子:
 
  • 外部类可以访问内部类的私有成员,内部类也可以访问外部类的私有成员:
 
  • 如果外部类的成员变量与内部类的成员变量名字相同,当内部类要访问外部类的该成员时,可以使用“OutClass.this.mem”来区分:
 
  • 要创建普通内部类,必须先创建相应的外部类:
 
也可以用下面的方式:

 
2.  静态内部类
普通内部类前面加上static修饰符,就成为静态内部类,静态内部类类似于C++的嵌套类,与普通内部类相比有如下区别:
  • 静态内部类没有指向外部类的引用,外部类对于它来说更像一个名字空间。
  • 普通内部类不能有静态成员,静态方法,或另一个静态内部类;而静态内部类可以有这一切。
  • 静态内部类可以直接创建,不必先创建外部类:
 
从上面描述可以看出,静态内部类与一般类没有太大区别,只不过它是放在一个类的里面,这个类相当于它的名字空间,可以防止命名冲突。
3.  局部内部类
Java可以把一个类定义在一个方法里面,甚至是一个{}块里面,它的作用域就在这个块里面:
 
 
局部内部类的一般用途是实现某个接口,并作为这个接口传出方法被使用:
 
 
4.  匿名内部类
匿名内部类的语法如下:
 
 
 
它被认为是InterfaceName的实现者,或是SuperclassName的继承类,匿名内部类没有构建函数,如果SuperclassName有带参数的构造函数,必须在创建匿名内部类时带上这些参数,下面是匿名内部类最常见的使用场合:
 
 

 

阅读更多
个人分类: Java
想对作者说点什么? 我来说一句

Java内部类(DOC)

2009年10月21日 57KB 下载

java 内部类应用

2008年10月17日 31KB 下载

Java 接口 内部类

2011年08月05日 205KB 下载

java内部类解析.......

2009年10月27日 239KB 下载

java 入门ppt

2011年09月01日 1.54MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭