Java的接口

作者: 小虎哥的技术博客 | 来源:发表于2022-07-26 15:50 被阅读0次

    接口将方法声明与实现分离,一个接口可以有多个实现类,一个类也可以实现多个接口。

    定义接口

    使用interface关键字。如public interface Life{}

    这里定义两个接口:Work(工作)接口,Life(生活)接口。

    接口中的方法都是public的,并且可以省略不写,如void makeMoney();

    public interface Work {
        // 赚钱
        void makeMoney();
    }
    
    public interface Life {
        // 玩游戏
        void playGame();
    
        // 默认方法(Java8)
        default void sleep() {
            System.out.println("睡觉");
        }
    
        // 静态方法(Java8)
        static void print() {
            System.out.println("静态方法");
        }
    }
    
    • 接口可以有默认方法静态方法,如Life接口中的sleep()方法和print()方法。

    实现类

    实现接口用implements关键字,如class Student implements Life, Work{}

    一个类实现一个接口必须要实现该接口所有的接口方法。

    如下:Student学生类实现了LifeWork接口,需要实现playGame()makeMoney()方法。学生要工作也要生活~

    public class Student implements Life, Work {
        @Override
        public void playGame() {
            System.out.println("学生也要玩游戏");
        }
    
        @Override
        public void makeMoney() {
            System.out.println("学生也要赚钱");
        }
    }
    

    使用接口

    public class Demo {
        public static void main(String[] args) {
            Student a = new Student();
            a.makeMoney();
            a.playGame();
            a.sleep();
    
            Life life = new Student();
            life.playGame();
            life.sleep();
    
            Work work = new Student();
            work.makeMoney();
        }
    }
    
    • 可以用接口引用接收实现类对象,如Life life = new Student();,因为Student实现了Life接口。
    • 用接口调用方式时,如life.playGame();编译器在执行的时候可以准确的找到具体对象的方法并执行(后期绑定/动态绑定)。

    类关系图

    如下是类关系图,可以看到实现类两个箭头指向两个接口,说明Student类实现了WorkLife接口。

    Student.png

    结语

    关注微信公众号:小虎哥的技术博客

    相关文章

      网友评论

        本文标题:Java的接口

        本文链接:https://www.haomeiwen.com/subject/kdvoirtx.html