Class A有run()方法和接口B也有run()方法.问题很简单,哪种run()方法在Main课堂上被覆盖,我们将如何证明这一点?为什么此代码中没有冲突(编译时错误)?
class A{
void run(){System.out.println("A class");}
}
interface B{
void run();
}
class Main extends A implements B{
public static void main(String args[]){
Main m = new Main();
m.run();
}
// Overridding method
public void run(){
System.out.println("run method");
}
}
Run Code Online (Sandbox Code Playgroud) 我来到了这种情况:
public interface Intr {
public void m1();
}
public abstract class Abs {
public void m1() {
System.out.println("Abs.m1()");
}
// public abstract void m1();
}
public class A extends Abs implements Intr {
@Override
public void m1() {
// which method am I overriding, well it is Abs.m1() but why?
// if method implemented is Abs.m1(), then why I am not getting error for Intr.m1() not implemented.
}
}
Run Code Online (Sandbox Code Playgroud)