1. 程式人生 > >解決關於Java中介面和實現介面到測試環節中無法使用set方法

解決關於Java中介面和實現介面到測試環節中無法使用set方法

package computerPCICard;
/**
 * 建立新的PCICard介面
 * @author win-r
 *
 */
public interface PCICard {//操作標準
	
	public void start();//啟動方法
	public void stop();//停止方法
}
package computerPCICard;
/**
 * 建立一個顯示卡實現類(實現PCICard介面)
 * @author win-r
 *
 */
public class DisplayCard implements PCICard {
	private String name;//定義一個name屬性
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public DisplayCard(String name){
		this.name=name;
	}
//	完成封裝
package computerPCICard;
/**
 * 建立一個測試類
 * @author 34336
 *
 */
public class TestPCI {
    public static void main(String[] args) {
        
        PCICard display=new DisplayCard("高效能遊戲顯示卡");//遊戲顯示卡測試
        display.start();
        display.stop();
        //這裡將不能使用display.setName();這個方法
        
    }
}

上述測試類中為什麼不能用set方法呢?

因為我們在

PCICard display=new DisplayCard("高效能遊戲顯示卡");

左邊是介面類,右邊是實現類,而介面中沒有set方法

如果兩邊都改為實現類,即可在實現類中實現介面中的方法和實現類中的方法

程式碼如下:

package computerPCICard;
/**
 * 建立一個測試類
 * @author 34336
 *
 */
public class TestPCI {
	public static void main(String[] args) {
		
		DisplayCard display=new DisplayCard();//遊戲顯示卡測試,兩邊都是實現類
		display.setName("高效能遊戲顯示卡");//實現set方法
		display.start();
		display.stop();
		
		
	}
}
希望對你理解介面和實現類中的方法有所幫助