zoukankan      html  css  js  c++  java
  • 接口的使用

    接口就像多功能插头。例如

    USBInterface.java

    /*** USBInterface.java ***/
    package test;
    public interface USBInterface{
    	public Object getData();
    }
    

    Camera.java

    /*** Camera.java ***/
    package test;
    public class Camera implements USBInterface{
    	public Object getData()
    	{
    		//TODO 自动生成方法存根
    		return "图像数据";
    	}
    }
    

    UStorage.java

    /*** UStorage.java ***/
    package test;
    public class UStorage implements USBInterface{
    	public Object getData()
    	{
    		//TODO 自动生成方法存根
    		return "U盘数据";
    	}
    }
    

    Computer.java

    /*** Computer.java ***/
    package test;
    public class Computer{
    	public void getUSBData(USBInterface usb)
    	{
    		System.out.println(usb.getData());
    	}
    }
    

    Main.java

    /*** Main.java ***/
    package test;
    public class Mytest{
    	public static void main(String[] args)
    	{
    		Computer c = new Computer();
    		c.getUSBData(new Ustorage());
    		c.getUSBData(new Camera());
    	}
    }
    

    USBInterface.java中就定义了一个接口,里面声明了方法,其他类里面使用时,只需要实现这个接口即可(getData方法都有重写),其实抽象类和接口刚开始理解是有点难,但学到后面就好理解了。

    /********************************************************************/

    Cat.java

    interface Cat(){
    	public void catchLaoshu();
    }
    

    QingWa.java

    interface QingWa(){
    	public void catchChong();
    }
    

    Something.java

    class Something implements Cat,QingWa{
    	public void catchLaoshu()
    	{
    		//TODO Auto Generate Method Sub;
    	}
    	
    	public void catchChong()
    	{
    		//TODO Auto Generate Method Sub;
    	}
    }
    

    接口意义重大,使用也是很简单的。首先你应该要知道java里是单继承的,就是一个类只能继承一个类。比如这个时候你定义一个类 叫 Something(某物),Something会抓老鼠,那么这个时候你就可以继承Cat(猫)这个类,因为猫里面有抓老鼠的方法,你继承了,你也会抓了。但是这个时候一个新问题来了,Something还想会抓害虫啊,由于你已经继承了猫了,那么你就不能继承青蛙了,这样你就弄不到抓虫的方法啊。那么这时候接口就来了,你可以把猫和青蛙都定义成接口,里面有抓老鼠和抓害虫的方法,Something你就可以试想两个接口了(接口可以实现多个),这样你就抓老鼠会了,抓害虫也会了。Something就成了神兽了。

  • 相关阅读:
    svmlight、libsvm 和 svmtorch(torch) 极夜.潜的日志 网易博客
    ObjectiveC学习之旅(二)函数、类、作用域
    快速掌握 ObjectiveC (For C/C++ developer)
    MAC系统使用总结
    VM虚拟机安装苹果雪豹操作系统
    asp.net调试遇到的问题
    C#调用WebService
    SqlServer2008建立触发器实例
    sqlserver2008无法登陆问题
    IIS上面部署网站
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5264147.html
Copyright © 2011-2022 走看看