首页 > 其他 > 详细

20150122--接口

时间:2016-01-23 00:55:39      阅读:172      评论:0      收藏:0      [点我收藏+]
技术分享
package com.hanqi.computer;

public interface ICpu {
    
    public void yunSuan();
    
    public String getPinpai();
    
    
}
ICpu
技术分享
package com.hanqi.computer;

public class AMDCpu implements ICpu,IDisplay {

    @Override
    public void yunSuan() {
        
        System.out.println("我的运算速度也不错");
        
    }

    @Override
    public String getPinpai() {
        
        return "AMD";
    }

    @Override
    public void xianShi() {
        
        System.out.println("APU");
        
    }

}
AMDCpu
技术分享
package com.hanqi.computer;

public class Computer {
    
    private ICpu cpu;
    private IDisplay display;
    
    
    public ICpu getCpu() {
        return cpu;
    }
    public void setCpu(ICpu cpu) {
        this.cpu = cpu;
    }
    public IDisplay getDisplay() {
        return display;
    }
    public void setDisplay(IDisplay display) {
        this.display = display;
    }

    
    public void run()
    {
        System.out.println("Cpu品牌 = " + cpu.getPinpai());
        System.out.println(" 显卡品牌 = " + display.getPinpai());
        
        cpu.yunSuan();
        
        display.xianShi();
    }
    
    
}
Computer
技术分享
package com.hanqi.computer;

public interface IDisplay {
    
    public void xianShi();    //    public 可不写 默认
    
    public String getPinpai();
    
    
    
}
IDisplay
技术分享
package com.hanqi.computer;

public class IntelCpu implements ICpu {

    @Override
    public void yunSuan() {

        System.out.println("我的运算速度很快");
        
    }

    @Override
    public String getPinpai() {
        
        return "Intel";
    }

}
IntelCpu
技术分享
package com.hanqi.computer;

public class Ti960Display implements IDisplay {

    @Override
    public void xianShi() {
        
        System.out.println("显示图形");

    }

    @Override
    public String getPinpai() {
        
        return "英伟达";
    }

}
Ti960Display
技术分享
package com.hanqi.computer;

public class ZuZhuang {

    public static void main(String[] args) {
        
        //组装一台电脑
        Computer c1 = new Computer();
        
        ICpu intel = new IntelCpu();
        
        c1.setCpu(intel);                    //有名对象
        c1.setDisplay(new Ti960Display());    //匿名对象
        
        c1.run();

        Computer c2 = new Computer();
        
//        AMDCpu a = new AMDCpu();
        
        LongXin a = new LongXin2();
        
        c2.setCpu(a);
        c2.setDisplay(a);
        
        c2.run();
    }

}
ZuZhuang
技术分享
package com.hanqi.computer;

public interface ICpuDisplay extends ICpu, IDisplay {
    
}
ICpuDisplay
技术分享
package com.hanqi.computer;

public abstract class LongXin implements ICpuDisplay {

    @Override
    public void yunSuan() {
        
        System.out.println("可以运算了");

    }

    @Override
    public String getPinpai() {
        
        return "龙芯";
    }

    @Override
    public abstract void xianShi();            //定义一个抽象方法
}
LongXin
技术分享
package com.hanqi.computer;

public class LongXin2 extends LongXin {

    @Override
    public void xianShi() {
        System.out.println("可以显示");

    }

}
LongXin2

技术分享

20150122--接口

原文:http://www.cnblogs.com/name-hanlin/p/5152442.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!