在我班上我使用标准方法
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
如何在我的类中覆盖或实现此方法,返回如下内容:
public static String valueOf(Object obj) {
return (obj == null) ? "" : obj.toString();
}
答案 0 :(得分:2)
你无法覆盖它(你不能覆盖任何静态方法,即使它不是静态的,String
也是一个不可能的最终类扩展)。
没有什么可以阻止你在课堂上实现它,并使用你的实现。但是,您无法使现有代码使用您的实施。
答案 1 :(得分:1)
无法覆盖静态方法。
此外,你不能覆盖非静态方法,除非你的类扩展了它声明的类。所以即使这是非静态的,你也不能覆盖它,除非你的class extends String
(它不会,也不应该,并且无论如何都可以,因为String
是最终的。)
你可以做的是创建自己的方法,而不是内置方法。
答案 2 :(得分:1)
String是最后一堂课。你不能扩展它。此外,此valueOf
方法是一种无法覆盖的静态方法。
答案 3 :(得分:1)
如果您想要输出对象,可以覆盖toString()
的{{1}}方法并调用Object
System.out.println(obj)