0
点赞
收藏
分享

微信扫一扫

Java接口详解

在Java的编程世界中,接口是极为有用的概念,它可以帮助我们实现代码重用和解耦,提高程序可扩展性和可维护性。还能够帮助我们开发出更加高效和健壮的程序,还可以提升我们对于代码设计和架构的能力。本文将对Java中接口的定义、使用方法及注意事项进行详细介绍。

一、接口的定义

首先,我们要认识什么是接口,当提到接口时,我们第一个想到的是什么?如下图:

Java接口详解_接口

相信大家想到的一定都是USB接口这一类的东西,这类接口都有什么共性呢?->都是事先厂家规定好的尺寸、大小,我们后期只需要把规格合适的USB插头插进去就可以了,并且这类接口不能被我们所修改,所以,我们得此结论:->接口是一种用于定义规范的结构,它定义了一组方法的签名和名称,但不会包含这些方法的方法体。利用接口,我们可以描述一个对象能做什么不能做什么,并且不用指定如何实现。

二、接口的实现

定义接口,肯定就少不了接口关键字interface啦例如如下代码:

public interface A {
    void print;
}

如上代码,就是指定后面继承他的子类都必须重写print方法的接口,不然就会报错,可以给编程者一个提示,如下:

public interface A {
    void print();
}
class B implements A {
    @Override
    public void print() {
        System.out.println("B::print");
    }
    public static void main(String[] args) {
        B b = new B();
        b.print();
    }
}

Java接口详解_接口_02

这就是运行结果了,并且,接口和抽象类一样,也是不能被实例化的,但是接口解决了抽象类中单继承的问题,也就是说,接口可以多实现,也就是一个子类,可以实现多个接口。

比如有一个类C,它既要写A的方法,也要写B的放法,那就可以多继承,如下:

public interface A {
    void printA();
}
interface B {
    void printB();
}
class C implements A,B {
    @Override
    public void printA() {
        System.out.println("C::printA");
    }
    @Override
    public void printB() {
        System.out.println("C::printB");
    }
}

还是那句话,出来混,迟早要还的,C就要写AB的方法了。

但是,有的同志可能会说了:”那我把B和A写到同一个类里面,不久可以了吗?为啥要写两个类,你这不是脱裤子放屁嘛你这!!!“确实,不可否认,可以写在一起,但是如果说人家只想要printA方法,不需要printB方法呢?那又该怎么做?你能不重写printB吗?肯定不行,编译器会报错,所以,这样分开的肯定利大于弊,能提高代码的耦合性。

三、使用接口的注意事项

1.接口是使用interface来进行定义的。

2.接口当中不能有实现的方法,但是有2种类型的方法需要注意:

2.1 静态方法可以有具体的实现

2.2 这个方法被default关键字修饰,也是可以的(1.8开始才引入的这个特性)

3.接口当中的方法默认是public abstract修饰的

4.接口当中的成员变量默认是: public static final修饰的

5.接口也不能通过关键字new来进行实例化

6.类和接口之间,使用关键字implements来进行关联

7.当一个类实现一个接口之后,这个类必须重写这个接口当中的抽象方法!!!

8. 当接口当中,存在default方法,可以选择重写,也可以不重写,具体看业务需求

9.不管是接口还是抽象类,他们仍然是可以发生向上转型

10.子类实现接口的方法的时候,这个方法一定要是public修饰的

11.接口当中不能有构造方法和代码块

12.一个类不想实现接口当中的方法,这个类可以被定义为抽象类

四、总结

接口是Java面向对象编程中不可或缺的一部分,它定义了一组方法规范,使得代码更灵活,更易于维护。对于Java开发者而言,深刻理解接口的定义、使用方法及注意事项是十分必要的。

五、心灵鸡汤

Java接口是一种既简单又令人敬畏的概念,当你完全掌握它时,你的代码将变得更易读、更好维护、更具弹性。通过深入学习和理解Java接口中的精髓,你可以拓展自己对于编程的认知和技能,成为一名技艺精湛的程序员。不论何时何地,只要保持热爱和动力,就可以让Java接口成为展示自我光芒的技能之光。

Java接口详解_Java_03

每次写心灵鸡汤是为了让读者你在感觉学习艰难的时候能再坚持一点点再一点点,也是为了让自己别放弃(好活当赏!)

举报

相关推荐

0 条评论