面试题答案
一键面试-
接口中方法默认的修饰符:
- 接口中抽象方法默认修饰符是
public
和abstract
(abstract
可省略)。 - 接口中默认方法默认修饰符是
public
和default
。 - 接口中静态方法默认修饰符是
public
和static
。
- 接口中抽象方法默认修饰符是
-
接口代码示例:
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.");
}
}
- 继承该接口的类示例及多态体现:
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
的实例,调用 abstractMethod
和 defaultMethod
,体现了多态性。对于静态方法,直接通过接口名调用,这与多态性无关,静态方法属于类或接口本身,而不属于实例。