解决关于Java中接口和实现接口到测试环节中无法使用set方法

时间:2022-06-29 16:16:31
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();
		
		
	}
}
希望对你理解接口和实现类中的方法有所帮助