接口 interface(抽象类的抽象)

接口

接口也可以说成抽象类的抽象  可以说  接口比抽象类更加严格  接口要求子类必须重写接口的所有方法

接口的概念:

接口是一种标准,所有实现该接口的子类都要实现这个标准。

接口也是一种契约,所有实现该接口的子类都要实现该契约。

接口也是一种身份特征,所有的子类都具有该身份特征。

 

接口的关键字 interface  implements

public interface USBInterface

class Kingston implements USBInterface{}

接口里面的所有方法都是抽象的、公有的

public interface USBInterface {
    //接口代表里面的方法都是公有的、抽象的  不必写abstract 默认会为你加上abstract
    
    public void open() ;
    void close();//最标准写法  属性也不必写public 因为在接口里面的方法都是公有的  默认公有
}
class Kingston implements USBInterface{

    @Override
    public void open() {
        System.out.println("-open->>");
    }

    @Override
    public void close() {
        System.out.println("-close->>");
        
    }
    public static void main(String[] args) {
        Kingston ton=new Kingston();
        ton.open();
        ton.close();
    }
    }
//输出
-open->>
-close->>

接口可以继承嘛?接口是可以继承接口的

interface InterfaceA

interface InterfaceB

class Subclass implements InterfaceA,InterfaceB

类可以实现多个接口

interface InterfaceA{
    public void buyFruit();
}
interface InterfaceB{
    public void buyFood();
}
class Subclass implements InterfaceA,InterfaceB
{

    @Override
    public void buyFood() {
        // TODO Auto-generated method stub
        System.out.println("food");
    }

    @Override
    public void buyFruit() {
        // TODO Auto-generated method stub
        System.out.println("fruit");
    }
    
}

这样的话  Subclass 类同时实现了两个接口

接口是可以继承接口的

例如、


interface
InterfaceC extends InterfaceA{ public void buyCar(); } class SubclassB implements InterfaceC{ @Override public void buyFruit() { // TODO Auto-generated method stub } @Override public void buyCar() { // TODO Auto-generated method stub } }
SubclassB要实现接口C的话,必须重写C的方法和A的方法

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/lovelingdu/p/9419400.html
今日推荐