/*
局部内部类:
1. 定义在外部类方法中,作用范围和创建对象范围仅限于当前方法。
2. 局部内部类访问外部类当前方法中的局部变量时,因无法保障变量的生命周期与自身相同,变量必须修饰为final。
3. 限制 类的使用范围。
4. 调用局部内部类时,需要在当前方法内(局部内部类外)创建局部内部类变量并且调用局部内部类的方法
Inner inner = new Inner();
inner.show2();
*/
package com.stage2.demo03;
//外部类
public class Outer {
private String name = "刘德华";
private int age = 35;
public void show(){
//定义局部变量(不可以加修饰符)
String address = "深圳";
//局部内部类:不能加任何访问修饰符
class Inner{
//局部内部类的属性
private String phone = "1232142525";
private String email = "liudehua@qq.com";
//private static int count = 2345;(局部内部类不可以包含静态成员)
//局部内部类的方法
public void show2(){
//访问外部类的属性
System.out.println(Outer.this.name);
System.out.println(Outer.this.age);
//访问内部类的属性
System.out.println(this.phone);
System.out.println(email);
//访问局部变量,jdk1.7要求:变量必须是常量,jkd1.8 自动添加final
System.out.println(address);
}
}
//创建局部内部类对象(在方法内new内部类对象)
Inner inner = new Inner();
inner.show2();
}
}
//测试
package com.stage2.demo03;
public class TestOuter {
public static void main(String[] args){
Outer outer = new Outer();
outer.show();
}
}
局部内部类
最新推荐文章于 2022-03-14 17:12:19 发布