我有一个名为“ Design”的类,并且正在编写以下代码来扩展该类,以包括一个名为sayHello()的新函数。但是,它似乎不起作用。我只能以这种方式使用ovveride现有功能吗?

Design design1 = new Design() {
    public void sayHello() {
        System.out.println("hello");
    }
};

design1.sayHello();  // this gives an error "function not found"

最佳答案

这是合乎逻辑的。
您正在重写超类并将其分配给超类的实例变量。

由于实例变量属于超类类型,因此您只能访问超类中可用的那些方法。

关于java - Java子类中的新函数内联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27309350/

10-13 07:15