如何解决调用父类方法而不更改代码
| 考虑下面的以下代码片段。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()?还是我问不可能?
解决方法
从外部,您不能-这会违反封装。 (想象一下
toString()
实际上是一种改变对象状态的方法,并且子类想要强制执行一些约束-您不应该能够跳过这些约束。)您可以从X
自身内部进行操作,例如
public String toString() {
return super.toString() + \"Hi\";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。