如果我有两个接口使用相同的默认方法,并且都使用类实现/请参阅此程序.
interface alpha {
default void reset() {
System.out.println("This is alpha version of default");
}
}
interface beta {
default void reset() {
System.out.println("This is beta version of default");
}
}
class MyClass implements alpha, beta {
void display() {
System.out.println("This is not default");
}
}
class main_class {
public static void main(String args[]) {
MyClass ob = new MyClass();
ob.reset();
ob.display();
}
}
Run Code Online (Sandbox Code Playgroud)
然后会发生什么?而且这个程序我也得到了无关的错误.
当我们尝试运行以下程序时,我们会收到以下错误 Exception in thread "main" java.lang.ArithmeticException: / by zero
class excp {
public static void main(String args[]) {
int x = 0;
int a = 30/x;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我们问某人这些是如何工作的时,他告诉我这个异常是由默认异常处理程序捕获的,所以我无法理解这个默认异常处理程序是如何工作的。请详细说明这一点。