關於java引用

最近在看一個項目,發現有個類以爲是多餘的,之後問了人才知道,原來那是引用,簡介使用了被引用的對象,修改裏面的數據。

下面給出一個例子,該例子除了有引用這個問題,還有繼承的問題。


包名:aa

父類:Yingyong

子類:YingyongSun


package aa;

import java.util.ArrayList;
import java.util.List;

public class Yingyong {

	private List<String> lists;
	public Yingyong(){
		
	}
	
	public List<String> getMs(){
		if(this.lists == null){
			lists = new ArrayList<String>(3);
		}
		return this.lists;
	}
}
子類:

package aa;

public class YingyongSun extends Yingyong {

	public YingyongSun(){
		
	}
}

使用:另起一個類,在main方法裏面:

public static void main(String[] args) {
		// TODO Auto-generated method stub

		//---------------------
		YingyongSun yySun = new YingyongSun();
		List<String> yingyongImpl = yySun.getMs();
		yingyongImpl.add("ni hao");
		yingyongImpl.add("zhen de shi ying yong????");
		
		for(int i=0;i<yySun.getMs().size();i++){
			s(yySun.getMs().get(i));
		}
	}

子類繼承於父類,所以getMs()方法也適用於子類。

在main方法,其實yingyongImpl是一個引用,它add了東西,也意味着子類(父類也行)的List<String>的內容增加。

輸出結果:

ni hao
zhen de shi ying yong????




這裏有一篇文檔,可以讀讀:

百度文庫--java引用



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章