java局部内部类

java中局部内部类的特点:

  1.定义在代码块、方法体的内的类叫做局部内部类

  2.局部内部类访问外部类的属性和方法使用“外部类名.this.属性名”和“外部类名.this.方法名(参数)”的形式

  3.对外部世界完全隐蔽,只能在其作用域内生成对象


局部内部类有以下局限性:

  1.局部内部类不能加访问修饰符,因为它们不是类的成员

  2. 成员内部类不能与外部类重名

  3.局部内部类访问作用域的局部变量,该局部变量需要用final修饰


具体用代码说明:

public class PartInnerClassDemo {

	public static void main(String[] args) {
		Outer3 outer3 = new Outer3(); // new一个Outer3的对象
		outer3.showOuter(); // 调用outer3的showOuter方法

	}

}

class Outer3 {
	private String name = "zhangsan ";
	private int num1 = 10;
	private static int num2 = 20;

	public void showOuter() {

		final int num4 = 50;
		class Inner3 { // 创建一个局部内部类,类名前一定不能加修饰符
			private int num3 = 30;
			private int num1 = 20;

			public void showInner() {
				System.out.println(num3); // 打印局部内部类里的num3
				System.out.println(num1);// 打印局部内部类里的num1,一定记住,不是外部类的num1!
				System.out.println(Outer3.this.num1);// 这样才是打印外部类中的num1
				System.out.println(Outer3.num2);// 打印外部类中的静态变量num2
				System.out.println(num4);// 局部内部类只能访问声明其方法中的常量,就是说只能访问在showOuterus这个方法中的常量
			}
		}
		Inner3 inner3 = new Inner3(); // 创建对象的时候必须要在局部内部类之后创建,
		inner3.showInner(); // 调用局部内部类的showInner方法
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值