1. 程式人生 > >JAVA高階特性--內部類

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);
		}
	}
}