zoukankan      html  css  js  c++  java
  • 关于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();
    } 
    }
  • 相关阅读:
    关于Lucas定理、多项式Exp的一些思考
    Binet-Cauchy定理的证明
    CSP2019 树上的数 题解
    Graphviz学习
    Luogu P2221 [HAOI2012]高速公路题解
    CSP2019 树的重心 题解
    CSP2019 Emiya 家今天的饭 题解
    UVA10559 方块消除 Blocks 题解
    关于二次项系数为1的二元一次不定方程解法的探究
    关于对STL容器重载运算符的问题
  • 原文地址:https://www.cnblogs.com/youxin/p/2217877.html
Copyright © 2011-2022 走看看