从对象内输出数据(JAVA)

从对象内输出数据(JAVA),java,console,output,Java,Console,Output,我试图将对象中的一些数据输出到控制台。似乎在工作,但在数据下面我得到了一个奇怪的信息 代码如下: import java.text.DecimalFormat; /** * The Circle class calculates area, diameter, and circumference */ public class Circle { DecimalFormat fmt = new DecimalFormat("#0.00"); // Fields

我试图将对象中的一些数据输出到控制台。似乎在工作,但在数据下面我得到了一个奇怪的信息

代码如下:

import java.text.DecimalFormat;

/**
 * The Circle class calculates area, diameter, and circumference 
 */

public class Circle {

    DecimalFormat fmt = new DecimalFormat("#0.00");

    // Fields
    private double radius;                  // Holds the circle radius
    private final double PI = 3.14159;      // The formula for PI


    /**
     *      Start Constructors
     */


    public Circle(double rad) {

        radius = rad;
        System.out.println("The circle's radius is " + (fmt.format(radius)));
        System.out.println("The circle's area is " + (fmt.format(PI * radius * radius)));
        System.out.println("The circle's diameter is " + (fmt.format(radius * 2)));
        System.out.println("The circle's circumference is " + (fmt.format(2 * PI * radius)));
    }


}
控制台输出为:

The circle's radius is 2.00
The circle's area is 12.57
The circle's diameter is 4.00
The circle's circumference is 12.57
Circle@5115a298

什么是circle消息?

给circle类一个合适的
toString()
方法重写。您将看到此方法从对象的默认版本返回

@Override
public String toString() {
   /*  return a String that shows the "state" of this object */
}

您必须在其他地方有一个System.out,它只有一个圆对象作为输出。然后,满是鳗鱼的气垫船的答案适用


顺便说一句:Math.PI已经给了你PI

我不知道这意味着什么,也不知道在哪里添加这段代码?我在这一章里没说那么远。没有覆盖@overrideyet@blnr:它将进入Circle类的内部。类似这样的System.out.println调用,
System.out.println(myObject),实际上是在调用:
System.out.println(myObject.toString())。为了使这一点有意义,对象的类必须覆盖对象类所持有的默认方法(这就是您所看到的)。