繁体   English   中英

如何ovveride方法字符串valueOf

[英]How to ovveride method String valueOf

在我的课上,我使用标准方法

public static String valueOf(Object obj) {
   return (obj == null) ? "null" : obj.toString();
}

我如何在类中回避或重新实现此方法,并返回如下内容:

public static String valueOf(Object obj) {
       return (obj == null) ? "" : obj.toString();
    }

您无法覆盖它(您不能覆盖任何静态方法,即使它不是静态的, String也是无法扩展的最终类)。

没有什么可以阻止您按照需要在类中实现它并使用实现的。 但是,您不能使现有代码使用您的实现。

静态方法不能被覆盖。

此外,除非您的类扩展了声明其的类,否则您不能覆盖非静态方法。因此,即使该类是非静态的,您也不能重写它,除非您的类扩展了String (它不会扩展),并且不应该,也不能如此,因为String是最终的)。

您可以做的是创建自己的方法,然后调用它而不是内置方法。

字符串是最后一堂课。 您不能扩展它。 而且,此valueOf方法是无法覆盖的静态方法。

如果要输出对象,则可以重写Object toString()方法并调用System.out.println(obj)

@Override
public String toString(){
   StringBuffer sb=new StringBuffer();
   sb.append(...);
   sb.append(...);
   return sb.toString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM