接口interface

接口

定义:接口是一种特殊的抽象类,它不能包含普通方法。

语法格式:

复制代码
[修饰符]interface 接口名 [extends 父接口]{
    [public][static][final] 常量类型 常量名 = 常量值;            
    [public][abstract] 方法返回值类型 方法名([参数列表]);      
    [public] default 方法返回值类型 方法名([参数列表]){
        默认方法体  
    }
    [public] static 方法返回值类型 方法名([参数列表]){
        类方法的方法体    
    }  
}
复制代码

与定义类不同的是,在定义接口时,不再使用class关键字,而是使用 interface 关键字来声明接口定义的基本

复制代码
public interface InterfaceDemo01 {
    //静态常量 可以省略static和final关键字
    public static final int AGE = 18;
    //抽象方法,可以省略abstract关键字
    public void eat();
    //静态方法
    static void sleep(){
        System.out.println("sleep。。。");
    }
    //default方法
    default void play(){
        System.out.println("play。。。");
    }
}
复制代码

常量:默认接口中所有的成员的变显都是省略public static final这几个关键字的,一般接口的成员变量都是大写的

抽象方法:默认接口中的所有成员方法都是省略public abstract的

 

接口不能被实例化,需要通过实现接口的方法去实现接口中的方法,

在接口中存在抽象方法,也就是说当前类也是一个抽象类,抽象类不能被实例化,

那么就能通过接口的实现类去实现。要实现接口我们要通过implements去实现接口。

class Person implements InterfaceDemo01{

    @Override
    public void eat() {
        System.out.println("eat方法");
    }
}
    public static void main(String[] args) {
        InterfaceDemo01 person = new Person();
        person.eat();
        person.play();
        InterfaceDemo01.sleep();
    }

运行结果:

 

 

 

 

 

接口实现类的特点:

1.如果一个类实现了接口,那么该类就必须实现接口中定义的所有的抽象方法

2.如果一个接口不想实现接口的方法,那么子类必须定义为一个接口或者抽象类

interface Student extends InterfaceDemo01{

}
abstract class User implements InterfaceDemo01{
    
}

实现接口可以多实现

复制代码
interface InterfaceDemo01 {

}
interface Student{

}

class User implements InterfaceDemo01,Student{

}
复制代码

接口之间的关系是继承关系,接口之间同样也可以实现多继承

复制代码
interface Student{

}
interface Doc{

}
interface Teacher extends Student,Doc{

}
复制代码

类和接口的关系

类和类:单继承。不可以实现

类和接口:单继承,多实现

接口和接口:多继承,不可以多实现

 

posted @   xjw12345  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示