一个引用变量可以声明为一个类类型或接口类型。如果该变量被声明为接口类型,则它可以引用实现该接口的任何类的任何对象。
根据上述语句,我已经写了一段代码来理解。如上所述,如果声明为接口类型,则它可以引用实现该接口的任何类的任何对象。
但是在我的代码中,objParent.displayName()
处显示了未定义的displayName()
方法:
public class OverridenClass {
public static void main(String[] args) {
Printable objParent = new Parent();
objParent.sysout();
objParent.displayName();
}
}
interface Printable {
void sysout();
}
class Parent implements Printable {
public void displayName() {
System.out.println("This is Parent Name");
}
public void sysout() {
System.out.println("I am Printable Interfacein Parent Class");
}
}
我肯定是理解错了。有人能够解释一下吗?
sysout()
方法被成功调用。 - Anupam Haldkar