JAVA高级特性--内部类

内部类概念

public  class Outer{

     class  inner{

     }

}

 特点

    可以很好的实现隐藏,可以使用procted,private

      可以直接访问外部类的所有成员 ,包括私有成员.

    外部内不能访问内部类的成员,必须首先建立内部类的 对象才可访问

成员内部内及应用

//外部内不能访问内部内属性和方法,必须创建对象

//内部类中不能有静态方法和属性
//内部类可以访问Outer.this.name外部内属性
//静态常量在内部类中是可以的

package com.tanlei.newer;

public class MemberInner {
	public static void main(String[] args) {
         //创建外部内对象
		Outer outer=new Outer();
		outer.show();
		//创建内部类对象
		Outer.Inner inner=outer.new Inner();
		inner.show();
	}

}

class Outer {
	private String name = "tanle";
	private int num = 10;

	public void show() {
		System.out.println(name + num);
		//外部内不能访问内部内属性和方法,必须创建对象
		Inner inner1 =new Inner();
		inner1.show();
	}
	

	public class Inner {
		private String name = "lisi";
		private int num = 20;

		public void show() {
			//内部类中不能有静态方法和属性
			//内部类可以访问Outer.this.name外部内属性
			//静态常量在内部类中是可以的
			System.out.println(Outer.this.name +"    内部类"+ num);
		}
	}
}

   

 

猜你喜欢

转载自www.cnblogs.com/tanlei-sxs/p/9944373.html