我试图理解如果抽象类和接口中都存在方法会发生什么.下面,我发布了一个场景,让您清楚地了解我所指的是什么.
interface act
{
void read();
}
abstract class enact
{
void read() {
System.out.println("hello");
}
}
public class second extends enact implements act
{
public void read() {
// does method read() correspond to Interface or abstract class?
}
}
最佳答案
I am just curIoUs to know whether the method read() relates to interface or abstract class
或者,不是,真的.它取决于您实际使用它的上下文中的表观类型.例如.你是否这样做
enact example = new second();
要么
act example = new second();
两者都允许您编译代码:
example.read();
因为read()方法是以两种表观类型定义的,即act和enact.但在这两种情况下,它都是“第二”类中定义的read()定义才是真正重要的.这就是被执行的东西.