关于java的tostring()方法

来源:百度知道 编辑:UC知道 时间:2024/06/12 04:57:27
public class A
{
public String toString()
{
return "this is A";
}
public static void main(String[] args)
{
A obj=new A();
obj.toString();
}
}
类引用.方法名不是会输出内容的吗??
为什么我调用obj.toString()不输出this is A的呢??
我知道System.out.println(obj.toString())会输出结果,但以前学的时候类引用.方法名是会输出结果的啊,为何这个不会啊??还有System.out.println(obj)也会输出结果,他们之间有什么不同啊??谢谢!!

类中public static final PrintStream out方法是
“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:
System.out.println(data)

java中所有的类都继承字object,该类中本就有tostring()这个方法,你不过是重写了这个方法而已。所以输出obj和obj.toString()你运行的结果都是一样的。调用方法显示输出结果是可以的,但如果你方法中没有输出部分,也是不会显示任何结果的。

所以你的程序应为:
public class A
{
public String toString()
{
return "this is A";
}
public static void main(String[] args)
{
A obj=new A();
System.out.println(obj.toString());
}
}

或者为:
public class A
{
public String toString()
{
System.out.println("this is A");
return null;
}
public static void main(String[] args)
{
A obj=new A();
obj.toString();
}
}

改成这样就是了:
public class A
{
public String toString()
{
return "this is A";
}
public static