Java语言基础:内部类

原创 2011年03月24日 22:29:00

 

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

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

 

相关文章推荐

Java语言基础之内部类

内部类 定义:把类定义在其他类的内部,这个类就被称为内部类。 特点:①.内部类可以直接访问外部类的成员,包括私有。 ②.外部类要访问内部类的成员,必须创建对象。 位置: 成员位置:在成员位置...

Java语言基础之内部类

内部类就是在类的内部再定义一个类,优点就是可以调用外部类的方法和私有变量 内部类分为静态内部类(静态绑定),匿名内部类,以及局部内部类。 静态内部类:在类中被static修饰的内部类 ...

Java语言高编——内部类

内部类在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。 广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类成员内部类是...

javaSE_8系列博客——Java语言的特性(三)--类和对象(16)--嵌套类(内部类的示例)

要看到正在使用的内部类,首先考虑一个数组。在下面的示例中,您将创建一个数组,用整数值填充数组,然后按升序排列数组的均匀索引值。下面的DataStructure.java示例包括: DataStruct...

java语言gui编程之内部类和鼠标事件经典2

/*  时间:2015年3月21日19:30:25  目的:使用鼠标的事件来画图。  首先看这个程序的结构中,在主函数main中调用了构造函数创建MyFrame类的对象    在MyFram...

java语言中的内部类和匿名内部类

java语言中的内部类和匿名内部类

java基础四种匿名内部类

  • 2017年08月09日 23:08
  • 42.78MB
  • 下载

接口、内部类和Java API基础

  • 2011年11月24日 18:53
  • 209KB
  • 下载

JAVA面向对象基础:内部类

本文转载链接地址:http://android.yaohuiji.com/archives/3247 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类...

Java__接口、内部类和Java_API基础

  • 2011年06月11日 21:44
  • 591KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java语言基础:内部类
举报原因:
原因补充:

(最多只允许输入30个字)