gpt4 book ai didi

java - 在java中打印对象的变量会发生什么?

转载 作者:行者123 更新时间:2023-12-01 14:20:28 26 4
gpt4 key购买 nike

public class test
{
public static void main (String[ ] args )
{
TheClass one = new TheClass(); constructor
TheClass two = new TheClass(str , doubleNum); // I: calling the parameter constructor to //pass: “David William” and 3.5 to the object
System.out.println( one );
System.out.println( two );

// call the method staticMethod
System.out.print(two.staticMethod());
}
}


class TheClass
{

private String str;
private static int intNum = 0;
private double doubleNum ;


public TheClass()
{
str = "unknown";
doubleNum = 0.0;
}

public TheClass (String s, double d)
{
str = s;
doubleNum = d;
}

public static void staticMethod ()
{
intNum ++;
}
}

执行“System.out.println( one );”有意义吗? & "System.out.println( 二 );"因为他们只是构造函数?这两行的输出是什么?

最佳答案

由于您尚未定义 toString() 方法,因此“打印”类实例的输出对人类来说没有用处。

假设你定义了一个有意义的toString()方法,那么打印刚刚构造的对象的概念没有任何问题,例如:

System.out.println( new TheClass(str , doubleNum) );

这只是意味着您不会对该行之后的对象进行引用(因此它将可用于垃圾回收)。

尝试相同的代码,但将此方法添加到您的类中:

@Override
public String toString() {
return str + " " + doubleNum;
}

关于java - 在java中打印对象的变量会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com