1. 程式人生 > >Java之介面的使用

Java之介面的使用

  • 介面實現的基本語法

實現介面時,需要使用關鍵字implements,該關鍵字指定該類實現介面,基本語法如下。

class  <類名> implements <介面名列表>

介面名列表中可以有多個介面,因為介面代表的角色,一個類可以扮演多個角色,下面給出了一個合法的介面實現的程式碼片段。

public interface Employee { } //Employee介面

public interface Manager  { } //Manager介面

public class Person implements Employee,Manager { }
//Person實現了Employee和Manager介面

Employee、Manger都是介面,分別代表普通員工和經理,Person是一個類,代表自然人,實現了Employee和Manage介面,表示人同時扮演經理和員工兩個角色。


  • 介面中方法的實現與使用

類的繼承使得開發人員可以處理同類的事物,但不能處理不同類但具有相同功能的事物。介面能夠被很多不同的類實現,但介面中定義的方法僅僅是實現某一特定功能的規範,而並沒有真正實現這些功能。這些功能都需要在實現該介面的類中完成。

例如,直升飛機與民航客機夠可以充當飛行器的角色,但直升機與民航客機沒有任何繼承關係,但是直升機與民航客機通過實現Flyer介面,使得二者都能夠作為飛行器進行處理。因為類對介面的實現有上述含義,因為當一個類實現了某個介面,其應當為該介面中的所有方法提供具體實現,除非該類為抽象類。

package cahpter05;
//飛行器介面
interface Aerocraft
{
	public void fly();
}

interface Airplan
{
	//載客飛行
	public void passenger();
}

//直升機介面
interface Helicopter
{
	//垂直飛行
	public void verticaStart();
}

class Apache implements Aerocraft,Helicopter
{
	//實現方法
	public void fly()
	{
		System.out.println("飛行器可飛行");
	}
	
	public void verticaStart()
	{
		System.out.println("直升飛機可以垂直起飛");
	}
}

//A380客機類,同時實現Aerocraft Airplane介面
class A380 implements Aerocraft,Airplan
{
	public void fly()
	{
		System.out.println("飛行器可以飛行");
	}
	
	public void passenger()
	{
		System.out.println("A380可以載客625人飛行");
	}
}
public class Sample5_1 
{
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		Apache a= new Apache();
		a.fly();
		a.verticaStart();
		
		A380 a1 =new A380();
		a1.fly();
		a1.passenger();
	}

}

上面的例子中,阿帕奇直升機實現了飛行器和直升飛機的介面,空客A380實現了飛行器和明航飛機的介面。無論在阿帕奇直升機還是A80類中都必須實現介面中定義的方法,否則編譯會報錯。