gpt4 book ai didi

java - 在 Java 中创建对象

转载 作者:行者123 更新时间:2023-11-29 10:07:27 25 4
gpt4 key购买 nike

我有以下类(class):

class Position {

private double x,y;
private int id;

private static int count=0; //counts number of times a Position object has been created

public Position (double initX, double initY) {
x=initX;
y=initY;
id=count;
count++;
}

public Position (Position a) {
id=count;
count++;
x=a.x;
y=a.y;
}

我现在想在我的另一个 .java 文件中创建一个 Position 对象。我该怎么做?我不会只使用 Position x=new Position; 吗?那是行不通的。我必须将职位类别导入文件吗?我也试过了,没用。不让我进口。我的文件在默认文件夹中。

这是我要使用它的地方。我什至不确定我是否正确阅读了说明。这是他们想从我这里得到的吗?将数组的每个元素初始化为一个新的位置对象?

/**
* Returns an array of num positions. Each position is initialized to a random
* (x,y) position.
* if num is less than zero, just return an empty array of length 0.
*
* @param num
* number of positions to create
* @return array of newly minted Points
*/
public int[] randomPos(int[] a) {
int numPositions=Position.getNumPositionsCreated();
int[] posArr=new int[numPositions];
int x,y;
for (int i=0; i<numPositions;i++)
Position rand = new Position(x,y);
//

最佳答案

你需要调用构造函数,

Position x = new Position(2.0,2.0);

由于您的构造函数之一采用两个 double 作为参数,因此我以它们为例。

或者,您可以通过传入另一个 Position 对象来创建一个新的 Position 对象,

Position otherX = new Position(new Position(2.0,2.0)); 
// or combining our above example assuming that x is already instantiated
Position otherX = new Position(x);

此外,以防万一您不确定,实例化声明 之间是有区别的!

实例化:

Position posX = new Position(1.0, 4.0);

现在,posXPosition 对象的实例,因为我们通过调用构造函数。

声明:

Position posX;

请注意,posX 变量已声明Position 对象,但尚未实例化所以 posX 会有一个 null 引用。

更新:

没有真正为你做功课,因为你不会那样学习。我可以告诉你,到目前为止,你所拥有的与上面 javadoc 中列出的不一致。此外,鉴于 javadoc 的编写方式,它很难理解,因此让我尝试为您清理它并让您完成其余的工作,

/* Returns an array of n Positions. Each Position is initialized to a random
* (x,y) position.
* if n is less than zero, just return an empty array of length 0.
*
* @param n
* number of Positions to create
* @return array of newly created Positions
*/

现在我们可以分解那个 javadoc,所以让我们查明我们所知道的。

  • 我们正在传递一个参数 n,它指示 Positions 数组应该有多大。
  • 我们需要检查 n 是否等于 0,如果是,我们返回一个空的 Position 数组。
  • 每个 Position 对象都将使用随机 xy实例化
  • 我们知道我们需要返回一个Position数组。

这应该让你开始了,我相信你能弄清楚剩下的。

关于java - 在 Java 中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3938896/

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