JAVA面向接口编程
来源:互联网 发布:淘宝装 编辑:程序博客网 时间:2024/05/17 08:47
1. 接口是一种规范和标准,是一些方法特征的集合,但没有方法实现。
2.抽象类利于代码复用,接口利于代码的扩展和维护。
3.接口中只有全局静态常量和全局静态抽象方法。常量必须有初始值。
4.接口之间可以通过extends实现继承关系,一个接口可继承多个接口。
面向接口编程
组装电脑面向接口编程。
CPU接口
public interface Cpu { /* * 获取CPU品牌 */ public String getCpuCount(); /* * 获取CPU主频 */ public Double getFrequery();}
内存接口
public interface EMS { /* * 内存类型 */ public String getEmsType(); /* * 获取内存容量大小 */ public int getSize();}
硬盘接口
public interface HardDisk { /* * 获取硬盘大小 */ public int getCapacity();}
因特尔CPU实现类
public class IntelCPU implements Cpu{ @Override public String getCpuCount() { // TODO Auto-generated method stub return "Intel"; } @Override public Double getFrequery() { // TODO Auto-generated method stub return 3.5; } }
英伟达CPU实现类
public class NVIDIACPU implements Cpu { @Override public String getCpuCount() { // TODO Auto-generated method stub return "英伟达CPU"; } @Override public Double getFrequery() { // TODO Auto-generated method stub return 6.7; }}
金士顿内存实现类
public class JSangDunEMS implements EMS { @Override public String getEmsType() { // TODO Auto-generated method stub return "DDR4"; } @Override public int getSize() { // TODO Auto-generated method stub return 16; }}
三星内存条实现类
public class SanSumgEMS implements EMS { @Override public String getEmsType() { // TODO Auto-generated method stub return "DDR3"; } @Override public int getSize() { // TODO Auto-generated method stub return 8; }}
三星硬盘实现类
public class SaanSumgHardDisk implements HardDisk { @Override public int getCapacity() { // TODO Auto-generated method stub return 600; }}
希捷硬盘实现类
public class XJieHardDisk implements HardDisk{ @Override public int getCapacity() { // TODO Auto-generated method stub return 800; }}
电脑信息描述类
public class Install { Cpu cpu; EMS ems; HardDisk hard; public Install(Cpu cpu, EMS ems, HardDisk hard) { this.cpu = cpu; this.ems = ems; this.hard = hard; } public void setCpu(Cpu cpu) { this.cpu = cpu; } public void setEms(EMS ems) { this.ems = ems; } public void setHard(HardDisk hard) { this.hard = hard; } /* * 组装方法 */ public void packaing(){ System.out.println("该计算机的CPU是"+cpu.getCpuCount() +"的,它的主频是"+cpu.getFrequery() +"\n它的内存类型为:"+ems.getEmsType() +",它的内存容量大小为"+ems.getSize() +"KB"+"\n它的硬盘容量为"+hard.getCapacity()); }}
电脑组装类
public class ComputerInstallTest { public static void main(String[] args) { Cpu cpu=null; EMS ems=null; HardDisk hard=null; Install ins=new Install(cpu, ems, hard); /* * 使用intelcpu,三星内存,三星硬盘组装 */ cpu=new IntelCPU(); ins.setCpu(cpu); ems=new SanSumgEMS(); ins.setEms(ems); hard=new SaanSumgHardDisk(); ins.setHard(hard); ins.packaing(); /* * 使用英伟达cpu,金士顿内存,希捷硬盘组装 */ cpu=new NVIDIACPU(); ins.setCpu(cpu); ems=new JSangDunEMS(); ins.setEms(ems); hard=new XJieHardDisk(); ins.setHard(hard); ins.packaing(); } }
阅读全文
0 0
- java面向接口编程
- java面向接口编程
- java面向接口编程
- java面向接口编程
- java面向接口编程
- 面向接口编程 java
- java 面向接口编程
- java面向接口编程
- java面向接口编程
- java面向接口编程
- JAVA面向接口编程
- JAVA面向接口编程
- Java之面向接口编程
- java-面向对象编程-接口
- Java 接口大全、面向接口编程
- Java设计模式_Iterator_面向接口编程
- 初学Java,面向接口编程,命令模式
- Java spi机制 面向接口的编程
- 4-1 复数类的运算符重载
- Maven私服Nexus的搭建
- 硬盘分区被格式化了如何恢复
- 外部排序--归并算法实现
- 大数据正式15
- JAVA面向接口编程
- 认清Android框架 MVC,MVP和MVVM
- Servlet什么时候初始化?
- Virtual Machine not launching Gazebo
- php中抽象类和接口的区别
- 起于前端,但不止于前端 —— 致“新手菜鸟”
- 小程序wxss公用模板
- web.xml的加载过程配置详解
- SVN