在不更改代码的情况下调用父类方法

时间:2011-05-26 09:54:17

标签: java inheritance

请考虑以下代码段。

class X {
    public String toString() {
        return "Hi";
    }
}

public class Main {
    public static void main(String[] args) {
        Object obj = new X();
        System.out.println(obj.toString());
    }
}

如何在不更改代码的情况下调用Object类中的toString()?或者我问的是不可能的?

1 个答案:

答案 0 :(得分:3)

从外面看,你不能 - 这会违反封装。 (想象一下toString()实际上是一种改变对象状态的方法,而子类想强制执行一些约束 - 你不应该跳过这些约束。)你可以在{{1}内完成本身,例如

X