gpt4 book ai didi

Java 对象和类初学者

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:11 24 4
gpt4 key购买 nike

嘿伙计们,我们刚刚开始介绍我类(class)中的对象和类。我非常了解创建该类的新实例。然而,我无法理解其数据字段和方法。这是我写的书中的一个样本。我不太明白我评论的部分:“//构造一个半径为1的圆。原因是b.c我已经在SimpleCircle类中声明了双半径,那么为什么我需要再次编写SimpleCircle?我对这个程序的访问器和修改器有所了解,但希望对这一切进行更简单的澄清。

public class TestSimpleCircle {

public static void main(String[] args) {

SimpleCircle circle1 = new SimpleCircle();
System.out.println("The area of the circle of radius " + circle1.radius + " is " + circle1.getArea());

// create a circle with radius 25
SimpleCircle circle2 = new SimpleCircle(25);
System.out.println("The area of the circle of radius " + circle2.radius + " is " + circle2.getArea());

// create a circle with radius 125
SimpleCircle circle3 = new SimpleCircle(125);
System.out.println("The area of the circle of radius " + circle3.radius + " is " + circle3.getArea());

// Modify circle radius of second object
circle2.setRadius(100); //or circle2.setRadius(100);
System.out.println("The area of the circle of radius " + circle2.radius + " is " + circle2.getArea());

} // end main
} // end class


class SimpleCircle {
double radius;

// construct a circle with radius 1
SimpleCircle() {
radius = 1;

}

// construct a circle with a specified radius
SimpleCircle(double newRadius) {
radius = newRadius;

}

// return the are of this circle
double getArea() {
return radius * radius * Math.PI;

}

// return the perimeter of this circle
double getPerimeter() {
return 2 * radius * Math.PI;
}

// set a new radius for this circle
void setRadius(double newRadius) {
radius = newRadius;
}

} // end class

最佳答案

之所以有两个 SimpleCircle() 语句,是因为其中一个是默认构造函数,从技术上讲,如果将 double radius; 更改为 double radius = 1;,则可以忽略该构造函数。第二个允许开发人员将参数传递给 double 类型的 SimpleCircle(double),并将其分配给名为 radius 的字段。两个 SimpleCircle(...) 语句都称为构造函数。

程序的示例输出:

The are of the circle of radius 1.0 is 3.141592653589793
The are of the circle of radius 25.0 is 1963.4954084936207
The area of the circle of radius 125.0 is 49087.385212340516
The area of the circle of radius 100.0 is 31415.926535897932

您可以在第一句中看到,它使用默认构造函数将半径设置为 1 或 1.0,因为它是一个 double。其余的使用传入的半径值或第二个构造函数。

关于Java 对象和类初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080610/

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