gpt4 book ai didi

Java - 在其自己的类中引用对象数据?

转载 作者:行者123 更新时间:2023-11-30 08:23:54 25 4
gpt4 key购买 nike

我对我的项目有疑问:

我有四个类文件,一个存储有关汽车特性和停放时间的信息,另一个存储他们从 parking 计时器购买了多少时间的数据,第三个是军官类,这取决于如果他们超过了他们购买的时间,则返回 null 或通过使用第四类创建 parking 票对象。

但我的问题是生成 ParkingTicket 对象的方法在 officer 类中,而 parking 票对象必须采用 3 个参数:汽车对象、超过他们购买时间的分钟数和 officer 对象。但我不确定如何在其自己的类中引用 officer 对象......我知道解决方案可能很简单,但我似乎被难住了。

我按照指示创建了 officer 的副本对象,但我不确定如何在 officer 类中引用它。 (我有一个愚蠢的时刻,并试图使用复制构造函数的参数作为 parking 罚单对象的参数......)

谁能指出我正确的方向?我将在下面发布我的军官类别代码和错误消息。感谢您提供的所有帮助!

// This class holds information about the Police Officer
public class PoliceOfficer {


private String name; // Officer's name
private String badgeNumber; // Officer's badge #
private int minutes;


// Initialize PoliceOfficer object
public PoliceOfficer(String offName, String badgeNum)
{
name = offName;
badgeNumber = badgeNum;
}


// Create Officer copy object
public PoliceOfficer(PoliceOfficer officer)
{
name = officer.name;
badgeNumber = officer.badgeNumber;
}

// Set Officer name and badge number fields
public void setOfficer(String pName, String pNumber)
{
name = pName;
badgeNumber = pNumber;
}


// Method that executes Officer's car inspection vs. Parking meter time -
// returns null if time parked is less than minutes on the meter
public ParkingTicket patrol(ParkedCar car, ParkingMeter meter)
{
if (car.getMinutes() > meter.getMinutesPurchased())
{
minutes = car.getMinutes() - meter.getMinutesPurchased();
ParkingTicket ticket = new ParkingTicket(car, officer, minutes);
return ticket;
}
else
return null;
}



// Generate toString method for officer's info to be displayed on the ticket
public String toString()
{
return "Name: " + name +
"\nBadge Number: " + badgeNumber;
}


}



PoliceOfficer.java:46: error: cannot find symbol
ParkingTicket ticket = new ParkingTicket(car, officer, minutes);
^
symbol: variable officer
location: class PoliceOfficer
5 errors

----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.

最佳答案

简单的用this来代表你所在对象的当前PoliceOfficer。例如:

// substitute *this* for the officer parameter
ParkingTicket ticket = new ParkingTicket(car, this, minutes);

请注意,this 指的是您所在类的当前对象。请注意,如果您在内部类中并试图引用外部类的对象,则需要通过在类名前添加来指定您指的是哪个this。例如,如果您在 PoliceOfficer 类的内部类中并希望引用当前警官,您可以使用 PoliceOfficer.this

关于Java - 在其自己的类中引用对象数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330905/

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