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就成了神兽了。

  • 相关阅读:
    LeetCode 264. Ugly Number II
    LeetCode 231. Power of Two
    LeetCode 263. Ugly Number
    LeetCode 136. Single Number
    LeetCode 69. Sqrt(x)
    LeetCode 66. Plus One
    LeetCode 70. Climbing Stairs
    LeetCode 628. Maximum Product of Three Numbers
    Leetcode 13. Roman to Integer
    大二暑假周进度报告03
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5264147.html
Copyright © 2011-2022 走看看