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