内部类的同名变量访问

//如果出现了重名现象,那么格式是:外部类名称。this。外部类成员变量名
public class Outer {

	int num=10;//外部类的成员变量
	
	public class Inner{//内部类的成员变量
		int num=20;
		
		public void methodInner() {
			int num=30;//内部类方法的局部变量
			System.out.println(num);//局部变量,就近原则  30
			System.out.println(this.num);//内部类的成员变量  20
			System.out.println(Outer.this.num);//外部类的成员变量  10
		}
	}
}
public static void main(String[] args) {
		//外部类名称。内部类名称 对象名= new 外部类名称()。new 内部类名称();
	 Outer.Inner obj = new Outer().new Inner();
     obj.methodInner();
	}

结果:

30
20
10
发布了28 篇原创文章 · 获赞 1 · 访问量 456

猜你喜欢

转载自blog.csdn.net/qq_45145809/article/details/105550917