java在其他類中創建內部類的對象


  創建內部類的對象可用 .this和.new來創建。 具體看代碼

package xunlong;
class pri{
	class inner{
		int k=0;
		public pri outer(){
			return pri.this;
		}
	}
	public inner print(){
		return new inner();
}
}
public class Root{
	public static void main(String[] args){
		pri a=new pri();
		pri.inner b=a.new inner();
		pri.inner k = a.print();
		System.out.println(b==k);
		k.k=5;
		System.out.println(b.k);
		System.out.println(k.k);
		pri c;
		c=b.outer();
		System.out.println(a==c);
	}
}

  在這段代碼中,我用pri的一個實例創建了一個inner類的對象b。由於非靜態內部類必須依附在外部類的實例上,所以在代碼的末尾證實通過.this返回的外部類的對象c與外部類的實例對象a是同一個對象。

  在這段代碼中,我還在外部pri中創建了一個方法print,這個方法返回內部類的對象,且這個內部類的對象是一個全新的對象,在代碼中證實通過print方法創建的innner對象k與通過a對象創建的對象b並不是同一個對象。

  如果將這段代碼中的inner類設置為private,那么這段代碼將會出錯,因為我們無法再通過外部類pri來訪問內部了inner。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM