1. 程式人生 > >Java面向物件——內部類

Java面向物件——內部類

內部類的定義:在類的內部定義的類

內部類的優點:可以方便的使用類外的屬性

內部類的缺點:破壞類的基本結構

package Hello;

public class Outer {

	private int a=2;
	//定義內部類
	class Inner{
		//定義內部方法
		public void show(){
			System.out.println(a);
		}
	}
	//定義外部方法
	public void show(){
		Inner in=new Inner();
		in.show();
	}
	
	public static void main(String[] args) {
		Outer out=new Outer();
		//呼叫外部方法
		out.show();
	}
}

輸出結果為:2

以上是間接呼叫Inner裡面的方法,利用Outer外部類來定義一個show方法,在show方法裡面呼叫內部類裡面的show方法;

下面來實現一個直接呼叫內部類的方法:

package Hello;

public class InnerTest {

	public static void main(String[] args) {
		//外部類進行例項化
		Outer out=new Outer();
		//進行內部類的例項化
		Outer.Inner in=out.new Inner();
		//呼叫內部類的方法
		in.show();
	}
}

輸出結果為:2 

直接呼叫內部類本來的話,Inner in=new Inner()即可,但是Inner是內部類,所以根據Java語法要求,要加上Outer.以及out.兩個字首,Outer.Inner in=out.new Inner();即一個外部類名字首,一個外部物件字首;