package BxdStudy;
/**
* 电脑运行实例
* 电脑运行基于主板
* @author 董
*
*/
public class DuoTaiInter {
public static void main(String[] args) {
MainBoard mainBoard = new MainBoard();
mainBoard.usePCI(null);
//接口型引用指向自己的子类对象
mainBoard.usePCI(new NetCard());
mainBoard.usePCI(new SoundCard());
}
}
//主板类
class MainBoard
{
public void run() {
System.out.println("Main Board主板运行...");
}
//重点:PCI pci = new NetCard()或者PCI pci = new SoundCard()接口型引用指向自己的子类对象
public void usePCI(PCI pci) {
if(pci != null) {
pci.open();
pci.close();
}
}
}
//多态接口
interface PCI
{
public void open();
public void close();
}
//网卡类实现PCI
class NetCard implements PCI{
@Override
public void open() {
System.out.println("netCard网卡打开了");
}
@Override
public void close() {
System.out.println("netCard网卡关闭了");
}
}
//声卡实现PCI
class SoundCard implements PCI{
@Override
public void open() {
System.out.println("soundCard声卡打开了");
}
@Override
public void close() {
System.out.println("soundCard声卡关闭了");
}
}
运行结果;
netCard网卡打开了
netCard网卡关闭了
soundCard声卡打开了
soundCard声卡关闭了