📜  java 接口 - Java (1)

📅  最后修改于: 2023-12-03 15:16:00.940000             🧑  作者: Mango

Java 接口

简介

Java 接口是一种定义一组抽象方法的约定。接口定义了一个实现类应该提供的方法的契约,并且可以被多个类实现。在 Java 中,接口是用来实现多继承的机制,一个类可以实现多个接口。

定义和使用接口

接口使用 interface 关键字来定义,其语法如下:

public interface MyInterface {
    // 声明接口方法
    public void method1();
    public int method2(String str);
}

在接口中,只能声明方法的签名,不能包含方法实现。

接口可以被其他类实现,使用 implements 关键字,如下所示:

public class MyClass implements MyInterface {
    // 实现接口方法
    public void method1() {
        // 实现方法逻辑
    }
    
    public int method2(String str) {
        // 实现方法逻辑
        return str.length();
    }
}
接口的特点
  • 接口中的所有方法都是抽象方法,并且默认为 publicabstract,所以可以忽略这两个关键字。
  • 接口不能直接被实例化,只能由类来实现接口。
  • 一个类可以同时实现多个接口。
  • 接口可以继承其他接口,使用 extends 关键字。
  • 接口可以在其他接口内部声明,形成嵌套接口。
接口的作用

接口在面向对象编程中起到了重要的作用,它具有以下特点和作用:

  • 定义一组通用的方法,提供一种标准的编程规范。
  • 实现多继承,一个类可以实现多个接口。
  • 提供了一种面向接口而不是具体实现的编程方式,增强了代码的灵活性和可扩展性。
  • 降低了代码的耦合性,使得代码更易于维护和重构。
实例
public interface Animal {
    void eat();
    void sleep();
}

public class Cat implements Animal {
    public void eat() {
        System.out.println("Cat is eating...");
    }

    public void sleep() {
        System.out.println("Cat is sleeping...");
    }
}

public class Dog implements Animal {
    public void eat() {
        System.out.println("Dog is eating...");
    }

    public void sleep() {
        System.out.println("Dog is sleeping...");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal cat = new Cat();
        Animal dog = new Dog();

        cat.eat();
        cat.sleep();

        dog.eat();
        dog.sleep();
    }
}

此示例中定义了一个 Animal 接口和两个实现类 CatDog。通过实现 Animal 接口,CatDog 分别重写了接口中的抽象方法 eat()sleep()。在 Main 类中创建了 CatDog 对象,并调用它们的方法。

输出结果:

Cat is eating...
Cat is sleeping...
Dog is eating...
Dog is sleeping...

通过接口的定义和实现,我们可以看到 CatDog 分别具有了 eat()sleep() 这两个共同的行为。接口为不同种类的动物提供了一种通用的规范,方便代码的扩展和维护。

以上就是关于 Java 接口的介绍,希望对你有所帮助!