接口课堂总结

接口:interface

实现接口:implements

接口格式

public interface 接口名称{
    //常量
    //抽象方法
    //静态方法
    //默认方法
    //私有方法
}

里面包含常量、抽象方法、静态方法、默认方法、私有方法,最主要的还是里面的抽象方法 

抽象方法定义格式:

public interface 接口名称{
 
    public abstract void 抽象方法名称();
 
}

抽象方法使用abstract修饰,public abstract 可以省略,两个一起省略或者省略其中一个都是可以的 

默认方法定义格式:



public interface 接口名称{
 
    public default void 默认方法名称(){
        //方法体
    }
 

默认方法使用default关键字修饰,public可以省略不写,但default不能省略,默认方法主要给子类覆盖重写或者调用。 

静态方法

public interface 接口名称{
 
    public static void 静态方法名称(){
        //方法体
    }
 
}


静态方法使用static关键字修饰,public可以省略不写,静态方法只能接口来进行调用,不能通过实现类对象来调用,也不能被实现类所继承或者重写,静态方法只跟接口有关。

私有方法

public interface 接口名称{
 
    private void 私有方法名称(){
        //方法体
    }
 
    private static 私有方法名称(){
        //方法体
    }
 
}


私有方法分为:普通私有方法、静态私有方法。
私有方法使用private关键字修饰,供默认方法和静态方法使用。
 

接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的(只有方法,而没有方法体)

接口中只有抽象类和抽象方法

抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类 

.一个类可以实现不止一个接口。

一个接口可以继承于另一个接口,或者另一些接口,接口也可以继承,并且可以多继承。

一个类如果要实现某个接口的话,那么它必须要实现这个接口中的所有方法。.接口中所有的方法        都是抽象的和public的,所有的属性都是public,static,final的。

.接口用来弥补类无法实现多继承的局限。

 

 例:

USB接口:其中规定了要实现USB接口就必须实现接口规定实现的read( )和write( )这两个方法

​

interface USB {
    void read();

    void write();
}

​

​

然后在写一个U盘类和一个键盘类,这两个类都去实现USB接口 

class YouPan implements USB {
    @Override
    public void read() {
        System.out.println("U盘正在通过USB功能读取数据");
    }
    @Override
    public void write() {
        System.out.println("U盘正在通过USB功能写入数据");
    }
}

class JianPan implements USB {
    @Override
    public void read() {
        System.out.println("键盘正在通过USB功能读取数据");
    }
    @Override
    public void write() {
        System.out.println("键盘正在通过USB功能写入数据");
    }
}

 测试类

public class Main {
    public static void main(String[] args) {
        //生成一个实现可USB接口的U盘对象
        YouPan youPan = new YouPan();
        //调用U盘的read( )方法
        youPan.read();
        //调用U盘的write( )方法
        youPan.write();
        //生成一个实现可USB接口的键盘对象
        JianPan jianPan = new JianPan();
        //调用键盘的read( )方法
        jianPan.read();
        //调用键盘的write( )方法
        jianPan.write();
    }

运行结果如下 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值