有关java object类的toString方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关java object类的toString方法相关的知识,希望对你有一定的参考价值。

如果一个object类里的成员有
String str;
float a;
int b;

如果声明
object obj;
String tostr;
调用
tostr=obj.toString()
那么tostr的值是不是等于object类中str的值呢?为什么?

想学习Java的小伙伴, Java基础教程分享给你们,本节课程主讲内容:Object类的toString()方法详解

参考技术A Object是所有对象类的父类,而toString方法只有可以转换为字符串的类型对象才可以实现转换的,否则转换后还是一个对象(也就是说读取的内容是非正常的);
如:
“aaa”是一个String类型的对象,“aaa”.toString();结果还是“aaa”;
User是一个用户的对象,如果User.toString();结果是不正常的,因为User对象中可能有多个属性,如年龄,姓名等,这个toString后无法知道具体的是那个属性转换为字符串,所以就不会正常显示。
备注:所有的java开发都是有一定原则的,不是说不报错就一切运行ok,要根据实际情况进行类型转换。
参考技术B 你先看一下Object类中的toString()方法源码:
public String toString()
return getClass().getName() + "@" + Integer.toHexString(hashCode());

假如你的类复写了Object类(此类为Java根基类)中的toString()方法 列:
public String toString()
return "Hello"; //这里才是你要返回的值 如果没复写 则调用Object类中的toString()方法(打印类的全限命名+内存地址) 本回答被提问者和网友采纳
参考技术C Object类中的toString()方法是打印类命和内存地址的。
比如String类就重写了Object的toString()方法.
如题:
如果一个object类里的成员有
String str;
float a;
int b;

String tostr;
tostr = new Object().str;这样才是得到Object类的str的值
但是Object是没有这个属性的.当你要得到一个类中的一个非static类型的属性的时候,你要得到它的值可以用
new 类名().属性名 来得到
参考技术D tostr=obj.toString() 只是调用Object的 toString方法
跟str的值无关,
但如果你复写Object的 toString方法的话

tostr的值等于str在toString(str)中的赋值.
java toString()的作用只是把药输出的内存地址格式 变成输出为字符串格式

Java中的 toString 方法

1. Object 类中定义有 public String toString() 方法,其返回值是 String 类型,描述当前对象的有关信息;

2. 在进行 String 与其它类型数据的连接操作时(如:System.out.println("info"+person)),将自动调用该对象类的 toString() 方法;

3. 可以根据需要在用户自定义类型中重写 toString() 方法,如:

class Dog {
  public String toString() {
    return "I‘m a good dog!!!";   } } class Test {   public static void main(String[] args){     Dog d = new Dog();     System.out.println("d: = " +d);   } } // 运行结果为:d: = I‘m a good dog!!!

 如果在 Dog 类中不重写  toString() 方法,也即:

class Dog {
//  public String toString() {
//	return "I‘m a good dog!!!";
//  }
}
class Test {
  public static void main(String[] args){
	Dog d = new Dog();
	System.out.println("d: = " +d);
  }
}
// 运行结果为:d: = [email protected]

 其返回结果为:类名[email protected]+哈希码


以上是关于有关java object类的toString方法的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础复习一 Object类的toString()方法剖析

Java中的 toString 方法

Java中Object.toString()返回的字符串的含义

Java面向对象中 Object类的详解和其中的equals()和toString()方法的详解

Object类的方法,toString的重写.

JAVA面向对象的多态性及抽象类和接口