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

内部类(成员内部类、静态内部类、方法内部类)

程序员文章站 2022-04-09 23:37:20
一:成员内部类:最常见的内部类就是成员内部类,也称作普通内部类;1、Inner类定义在Outer类的内部,相当于Outer类的成员变量的位置,Inner类可以使用任意访问修饰符,如:public、private、protected等。2、Inner类中定义的test()方法可以访问Outer类中的数据,不受访问控制符的影响。3、定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );如....

一:成员内部类:

最常见的内部类就是成员内部类,也称作普通内部类;

内部类(成员内部类、静态内部类、方法内部类)

1、Inner类定义在Outer类的内部,相当于Outer类的成员变量的位置,Inner类可以使用任意访问修饰符,如:public、private、protected等。

2、Inner类中定义的test()方法可以访问Outer类中的数据,不受访问控制符的影响。

3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );如创建Inner的内部类对象:要先创建外部类对象:Outer o = new outer(); 创建内部类:Inner i = o.new Inner();访问Inner中的test()方法:i.test();

例如:

内部类(成员内部类、静态内部类、方法内部类)

4、如果外部类和内部类具有相同的成员变量或方法,内部类可以直接访问内部类的成员变量或方法,但如果内部类访问外部类的成员变量或者方法时,需要使用this关键字;如下:

内部类(成员内部类、静态内部类、方法内部类)


二:静态内部类

静态内部类就是用static修饰的内部类,这种内部类的特点是:

1、静态内部类不能直接访问外部类的非静态成员,但,可以通过new 外部类().成员的方式访问;

内部类(成员内部类、静态内部类、方法内部类)

2、如果外部类的静态成员与内部类的静态成员相同, 可以通过"类名.静态成员"来访问外部类的静态成员;如果不同,可以直接调用外部类的静态成员名。

内部类(成员内部类、静态内部类、方法内部类)

内部类(成员内部类、静态内部类、方法内部类)

3、创建静态内部类的对象时,不需要外部类的对象,可以直接创建;


三:方法内部类:

1、方法内部类就是定义在外部类的方法中,方法内部类只在该方法内可以用;

内部类(成员内部类、静态内部类、方法内部类)

2、由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

本文地址:https://blog.csdn.net/weixin_44364444/article/details/112857086

相关标签: Java