java 内部类 note

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mygodhome/article/details/86097042

一个类的内部(一个方法或者代码块)定义一个类,内部类(Inner Class),也成为嵌套类,封装它的类称为外部类。

作用:

1.封装。将不想公开的实现细节封装到一个内部类中,内部类可以声明为私有的,只能在所在外部类(public或者默认类)中访问。

2.提供命名空间。静态内部类和外部类能够提供有别与包的命名空间。

3.便于访问外部类成员。内部类能够很方便访问所在外部类的成员,包括私有成员。

匿名内部类:没有名字的局部内部类,声明同时实例化。在参数里面使用匿名内部类(抽象类,接口),或者是继承类的匿名内部类,或者具体类作为匿名内部类。

有名内部类:

         局部内部类:在某个代码块或者方法里,访问级别只有默认。不能是静态的。用的不多。

          成员内部类:相当于成员变量。一个类内部,但是在方法之外。

                   实例内部类:类似于成员变量。访问级别:public,private,protected 和默认。引用外部类对象需要使用”外部类名.this". 先有外部类的实例,再有内部类的实例。

                   静态内部类:类似于静态成员变量,用static声明,它只能访问外部类的静态成员。所有使用场景很少。我们一般使用静态内部类是为了提供一个有别于包的命名空间。不能访问外部类的非静态成员。直接new.

匿名对象:

猜你喜欢

转载自blog.csdn.net/mygodhome/article/details/86097042