package demo;
interface PCI{
void start();
void stop();
}
class NetworkCard implements PCI{
public void start() {
System.out.println("Network send ... ");
}
public void stop() {
System.out.println("Network Stop...");
}
}
class SoundCard implements PCI {
public void start() {
System.out.println("Sound Do Do ... ");
}
public void stop() {
System.out.println("Sound stop ... ");
}
}
/*
class SoundCardChild {//此类没有明确继承PCI接口,但是它实现了PCI的所有方法
public void start() {
System.out.println("Sound Do Do ... ");
}
public void stop() {
System.out.println("Sound stop ... ");
}
}
*/
class MainBoard{
public void usePCICard(PCI p){
p.start();
p.stop();
}
}
class Assembler {
public static void main(String[] args) {
MainBoard mb=new MainBoard();
NetworkCard nc=new NetworkCard();
mb.usePCICard(nc);
SoundCard sc=new SoundCard();
mb.usePCICard(sc);
// SoundCardChild scc=new SoundCardChild();
// mb.usePCICard((PCI)scc);//编译无问题,但是运行报错
}
}