我是java的初学者,我希望得到这样的澄清。在方法中传递对象比通过类实例调用方法更有效吗?它在我看来也一样。假设以下示例代码:
public class Test {
public static void main(String[] args) {
CircleWithPrivateDataFields myCircle = new CircleWithPrivateDataFields(5.0);
printCircle(myCircle);
}
public static void printCircle (CircleWithPrivateDataFields c) {
System.out.println("The area of the circle of radius "
+ c.getRadius() + " is " + c.getArea());
}
}
如果我定义CircleWithPrivateDataFields
类,则此对象printCircle
方法的传递方法将在控制台上打印。另外,通常当我使用void方法时,我需要在main方法{{1}内写入在控制台上打印void方法,但是当我在方法中传递对象时,我不需要这样做。
答案 0 :(得分:0)
最干净的是简单地为类提供out(...)
方法覆盖,然后您可以简单地将其打印出来,因为PrintStream类的toString()
方法将调用任何方法的public class CircleWithPrivateDataFields {
private double radius;
public CircleWithPrivateDataFields(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public String toString() {
return String.format("The area of the circle of radius %.2f is %.2f", radius, getArea());
}
public static void main(String[] args) {
CircleWithPrivateDataFields circle = new CircleWithPrivateDataFields(5);
System.out.println(circle);
}
}
方法传递给它的对象:
toString()
请注意,效率与此无关。
另请注意,FLAG_ACTIVITY_SINGLE_TOP
方法非常适合作为调试帮助和玩具程序的输出,如上所示,但几乎从未用作生产代码的输出方法。