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();
    } 
    }
  • 相关阅读:
    Eclipse 的控制台console乱码
    Cucumber java + Webdriver(一)
    安装 pywin32-218.win32-py2.7.exe 报错python version 2.7 required,which was not found in the registry解决方案
    安装pycharm软件后,打开robot framework怎么默认用pycharm打开
    C++中的智能指针
    RBF(径向基)神经网络
    C/C++指针参数赋值问题
    二叉树以及常见面试题
    对于正则化的理解
    GBDT算法
  • 原文地址:https://www.cnblogs.com/youxin/p/2217877.html
Copyright © 2011-2022 走看看