Java局部内部类
局部内部类有如下特点:public class Test {
public void method() {
class Inner {
// 局部内部类
}
}
}
1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。
2)局部内部类只在当前方法中有效。
public class Test {
Inner i = new Inner(); // 编译出错
Test.Inner ti = new Test.Inner(); // 编译出错
Test.Inner ti2 = new Test().new Inner(); // 编译出错
public void method() {
class Inner{
}
Inner i = new Inner();
}
}
3)局部内部类中不能定义 static 成员。
4)局部内部类中还可以包含内部类,但是这些内部类也不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。
5)在局部内部类中可以访问外部类的所有成员。
6)在局部内部类中只可以访问当前方法中 final 类型的参数与变量。如果方法中的成员与外部类中的成员同名,则可以使用 <OuterClassName>.this.<MemberName> 的形式访问外部类中的成员。
public class Test {
int a = 0;
int d = 0;
public void method() {
int b = 0;
final int c = 0;
final int d = 10;
class Inner {
int a2 = a; // 访问外部类中的成员
// int b2 = b; // 编译出错
int c2 = c; // 访问方法中的成员
int d2 = d; // 访问方法中的成员
int d3 = Test.this.d; //访问外部类中的成员
}
Inner i = new Inner();
System.out.println(i.d2); // 输出10
System.out.println(i.d3); // 输出0
}
public static void main(String[] args) {
Test t = new Test();
t.method();
}
}
- 随机文章
- .马尔代夫旅游(探索恬静之美——马尔代夫旅游指南)
- 中国马尔代夫规划(中国计划在马尔代夫投资建设旅游项目)
- 提醒 马尔代夫 马累(马尔代夫首都马累传出新冠确诊病例,游客需重视防护)
- 不丹 马尔代夫 集锦(不丹和马尔代夫:美丽之旅回顾)
- 杀手 马尔代夫 医生(马尔代夫医生:撑起偏远海岛的“生命救援”)
- 海底 马尔代夫(马尔代夫海底探秘)
- 马尔代夫鲜花求婚(马尔代夫浪漫求婚:用鲜花表达爱情)
- 大连马尔代夫旅游(探索大连市内仿佛马尔代夫的旅游胜地)
- 安庆马尔代夫风景(仿佛置身马尔代夫!品味安庆美丽风景)
- 壁纸手机马尔代夫(马尔代夫海岛风景壁纸,专为手机打造)
- 怀化洪江马尔代夫(湖南怀化洪江建设“马尔代夫度假村”)
- 带情人游马尔代夫(浪漫马尔代夫游,美好时光与情人共享)
- 澳门 马尔代夫(澳门和马尔代夫的异国之旅)
- 抚州马尔代夫风景(走近江南水乡,享受抚州马尔代夫风景)
- 绿岛 马尔代夫(绿岛与马尔代夫:美丽岛屿之旅)
- 抖音昆明马尔代夫(昆明抖音用户疯传的马尔代夫旅游视频)
- 歌词 马尔代夫(度假天堂在地球:探索马尔代夫)
- 海边马尔代夫平潭(美妙的度假胜地:平潭海边的马尔代夫)
- 潢川魏岗马尔代夫(潢川魏岗游客在马尔代夫岛上不慎溺亡)
- 唐县东方马尔代夫(唐县东方马尔代夫:避暑季度梦幻之选)
- 惠州马尔代夫海岸(惠州诞生新景点:马尔代夫海岸开放!)
- 大连 马尔代夫(大连走进马尔代夫:一场场惊喜的旅行)
- 莱西 马尔代夫(莱西岛与马尔代夫的闪亮合作)
- 徐州马尔代夫名单(徐州旅游局公布马尔代夫旅游景点清单)
- 玉林马尔代夫项目(玉林打造马尔代夫主题度假村项目启动)
- 宝马 马尔代夫(宝马旗下酒店宣布在马尔代夫开设新地标)
- 自制马尔代夫矿石(马尔代夫岛上发现珊瑚礁中的未知矿石)
- 海岛马尔代夫防晒(享受马尔代夫度假,防晒措施不可忽视)
- 马尔代夫不怕淹没(马尔代夫面对海平面上升不惧淹没威胁)
- 许诺 马尔代夫(马尔代夫承诺让您的海滩之旅更加美好)
