接口的應用場景


接口是用來規范類的 
它可以避免類在設計上的不一致 
這在多人合作的開發中猶為重要 

就比如接口中有A方法 
那么實現這個接口就必須實現A方法 
這就形成了一種規范


那有了接口你不覺得方便了項目的管理嗎!?
比如在一個多語言的網站中,需要根據用戶使用的語言不同來使用不同的頁,這時候需要轉換編碼方式的函數,(假如每個小組開發一種語言部分)編碼轉換的函數在JAVA BEAN 中如果每個小組在BEAN中的轉化函數名字都不一樣就為以后的程序維護增添很多的麻煩,而如果用了接口呢大家的BEAN都繼承這個接口只需要重寫方法就可以了方法名也不就統一了嗎?!
當然這個例子並不能完全說明借口的優勢,但就憑這一點我們也應該看到了借口的價值了,不是嗎?!

1、JAVA多態接口動態加載實例
2、JAVA接口作為參數傳遞
  可以將接口類型作為方法參數, 在使用時可以將實現了接口的類傳遞給方法,實際調用的是實現類中的方法代碼體, 這樣便根據傳入的參數的不同而實現不同的功能。 重要的是, 當我當前需要另外一個對象並且擁有承受所聲明的方法的時候, 我們不必須原類, 只需新的類實現接口即可。 


public interface Comm {
	double eat();
}

public class Chinese implements Comm {

	@Override
	public double eat() {
		System.out.println("用筷子吃飯");
		return 0;
	}

}

public class American implements Comm {

	@Override
	public double eat() {
		System.out.println("美國人用刀叉吃飯");
		return 0;
	}

}

public class Sinkiang implements Comm {

	@Override
	public double eat() {
		System.out.println("新建人手抓飯");
		return 0;
	}

}

  

package 多態;

public class Test {

	public static void main(String[] args) {
		Comm comm=null;
		
		try {
			comm = (Comm)Class.forName("多態.Chinese").newInstance();
			iseat(comm);
			
			comm = (Comm)Class.forName("多態.American").newInstance();
			iseat(comm);
			
			comm = (Comm)Class.forName("多態.Sinkiang").newInstance();
			iseat(comm);
			
		} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		
		
		
	}
	
	public static double iseat(Comm comm){
		return comm.eat();
	}
	
}

  

 


免責聲明!

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



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