gpt4 book ai didi

java - 我可以更改 getClass().getName() 方法的行为吗

转载 作者:行者123 更新时间:2023-12-01 10:30:28 27 4
gpt4 key购买 nike

我有一个 Foo 类。

Foo toy=new Foo("toy");

Foo shoe=new Foo("shoes");

我们能做点什么吗

1 toy.getClass().getName() 将打印:toy

2 shoe.getClass().getName() 将打印:shoe

最佳答案

不,不容易。 Class#getName()用于反射和调试,是 Java 运行时的一部分。由于 java.lang.Class 是最终的,您将无法覆盖它(这并不重要,因为 getClass() 返回一个 Class 无论如何,不​​会与你的子类有任何关系,即使你可以做到这一点)

只需使用 toy.toString() 并将 toString 方法添加到 Foo 类中,该方法将输出您传递给构造函数的任何值。

关于java - 我可以更改 getClass().getName() 方法的行为吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35117922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com