关于java的tostring()方法

关于java的tostring()方法

检举 | 2007-12-3 13:11
提问者:好学之人100 | 悬赏分:10 | 浏览次数:3126次
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();
} 
}
原文地址:https://www.cnblogs.com/youxin/p/2217877.html