欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

内部类

程序员文章站 2022-06-15 14:39:02
在java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。 inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。 inner class的名字不能与包含它的类名相同 inner class可以使用外部类的私有数据,因为它是外部类的成员,同 ......

在java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。

inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。

  inner class的名字不能与包含它的类名相同

inner class可以使用外部类的私有数据,因为它是外部类的成员,同一个类的成员之间可互相访问。而外部类要访问内部类中的成员需要:内部类.成员或者内部类对象.成员。

分类:成员内部类(static成员内部类和非static成员内部类)

  局部内部类(不谈修饰符)、匿名内部类

 

内部类特性

  可以声明为final的。

  和外部类不同,inner class可声明为private或protected。

  inner class可以声明为static的,但此时就不能再使用外层类的非static的成员变量。

  inner class作为类:

    可以声明为abstract类,因此可以被其它的内部类继承。

    非static的内部类中的成员不能声明为static的,只有在外部类或者static的内部类中才可声明static成员。

 

内部类有什么用?

  内部类主要是解决java不能多重继承的问题。可以使用内部类来变相的实现类的多重继承,可以同时继承多个类。