MST

星途 面试题库

面试题:Java中接口的方法默认修饰符是什么?请举例说明如何在接口中定义不同类型的方法,并阐述接口在多态性方面的应用

在Java中,接口是一种特殊的抽象类型,用于定义一组方法的签名。请回答接口中方法默认的修饰符是什么。并给出一个代码示例,在接口中定义至少一个抽象方法、一个默认方法和一个静态方法。同时,结合一个简单的继承该接口的类的示例,说明接口是如何体现多态性的。
44.4万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 接口中方法默认的修饰符

    • 接口中抽象方法默认修饰符是 publicabstractabstract 可省略)。
    • 接口中默认方法默认修饰符是 publicdefault
    • 接口中静态方法默认修饰符是 publicstatic
  2. 接口代码示例

public interface MyInterface {
    // 抽象方法,默认 public abstract
    void abstractMethod();

    // 默认方法,默认 public default
    default void defaultMethod() {
        System.out.println("This is a default method in MyInterface.");
    }

    // 静态方法,默认 public static
    static void staticMethod() {
        System.out.println("This is a static method in MyInterface.");
    }
}
  1. 继承该接口的类示例及多态体现
class MyClass implements MyInterface {
    @Override
    public void abstractMethod() {
        System.out.println("Implementation of abstract method in MyClass.");
    }
}

public class Main {
    public static void main(String[] args) {
        MyInterface myObj = new MyClass();
        myObj.abstractMethod();
        myObj.defaultMethod();

        MyInterface.staticMethod();
    }
}

在上述代码中,MyClass 实现了 MyInterface 接口,并重写了抽象方法 abstractMethod。在 main 方法中,通过接口类型的引用 myObj 指向 MyClass 的实例,调用 abstractMethoddefaultMethod,体现了多态性。对于静态方法,直接通过接口名调用,这与多态性无关,静态方法属于类或接口本身,而不属于实例。