首页 > 应用开发 > Java > Java接口(interface)的概念及使用
//串行硬盘接口 public interface SataHdd{ //连接线的数量 public static final int CONNECT_LINE=4; //写数据 public void writeData(String data); //读数据 public String readData(); }
- public interface SataHdd{
- //连接线的数量
- public int connectLine; //编译出错,connectLine被看做静态常量,必须显式初始化
- //写数据
- protected void writeData(String data); //编译出错,必须是public类型
- //读数据
- public static String readData(){ //编译出错,接口中不能包含静态方法
- return "数据"; //编译出错,接口中只能包含抽象方法,
- }
- }
- //串行硬盘接口
- public interface SataHdd extends A,B{
- // 连接线的数量
- public static final int CONNECT_LINE = 4;
- // 写数据
- public void writeData(String data);
- // 读数据
- public String readData();
- }
- interface A{
- public void a();
- }
- interface B{
- public void b();
- }
- import static java.lang.System.*;
- public class Demo{
- public static void main(String[] args) {
- SataHdd sh1=new SeagateHdd(); //初始化希捷硬盘
- SataHdd sh2=new SamsungHdd(); //初始化三星硬盘
- }
- }
- //串行硬盘接口
- interface SataHdd{
- //连接线的数量
- public static final int CONNECT_LINE=4;
- //写数据
- public void writeData(String data);
- //读数据
- public String readData();
- }
- // 维修硬盘接口
- interface fixHdd{
- // 维修地址
- String address = "北京市海淀区";
- // 开始维修
- boolean doFix();
- }
- //希捷硬盘
- class SeagateHdd implements SataHdd, fixHdd{
- //希捷硬盘读取数据
- public String readData(){
- return "数据";
- }
- //希捷硬盘写入数据
- public void writeData(String data) {
- out.println("写入成功");
- }
- // 维修希捷硬盘
- public boolean doFix(){
- return true;
- }
- }
- //三星硬盘
- class SamsungHdd implements SataHdd{
- //三星硬盘读取数据
- public String readData(){
- return "数据";
- }
- //三星硬盘写入数据
- public void writeData(String data){
- out.println("写入成功");
- }
- }
- //某劣质硬盘,不能写数据
- abstract class XXHdd implements SataHdd{
- //硬盘读取数据
- public String readData() {
- return "数据";
- }
- }
- public class Demo{
- public void test1(A a) {
- a.doSth();
- }
- public static void main(String[] args) {
- Demo d = new Demo();
- A a = new B();
- d.test1(a);
- }
- }
- interface A {
- public int doSth();
- }
- class B implements A {
- public int doSth() {
- System.out.println("now in B");
- return 123;
- }
- }
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18903360/viewspace-2143965/ ,如需转载,请注明出处,否则将追究法律责任。