重写类的ToString方法
程序员文章站
2022-04-04 20:55:57
...
所有的类都有一个基类:Object,即所有的类都继承了Object的ToString()方法,如果这个类自己以及其所有基类都并没有使用override方式重写这个方法的话,此类的实例调用的ToString()即Object的ToString(),返回的将是类型的名称字符串。
C#举例:
主函数中
static void Main(string[] args)
{
TestClass testClass = new TestClass();
Console.WriteLine(testClass.ToString());
Console.Read();
}
输出是这样的:
但是如果我们在继承类中重写ToString方法,代码如下:
class TestClass
{
public override string ToString()
{
return "重写了ToString()方法!";
}
}
运行出来的结果为:
那么如何知道一个类是否有自己的ToString()方法?用点号索引到ToString()时,如果看到方法签名是string object.ToString(),描述是"返回当前System.Object的System.String",说明该方法来自于object.ToString(),将会返回类型的名称。
Java举例:
主函数中
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
Test test = new Test();
String s1 = test.toString();
System.out.println(s1);
}
运行结果:
重写Test类
:
public class Test {
@Override
public String toString() {
return "重写了toString方法!";
}
}
运行结果:
上一篇: .Net快速上手Nlog日志组件