从对象内输出数据(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())代码>。为了使这一点有意义,对象的类必须覆盖对象类所持有的默认方法(这就是您所看到的)。