gpt4 book ai didi

java - 更改 "File"参数的值而不创建类的新实例

转载 作者:行者123 更新时间:2023-12-01 15:38:49 24 4
gpt4 key购买 nike

我这里有一个小问题。

我在这些方法中声明一个新对象“Fleet”:

public void run() throws FileNotFoundException
{
File file = new File(getFile());
Fleet fleet = new Fleet(file);
buildFleet(file, fleet);
}

private void buildFleet(File file, Fleet fleet) throws FileNotFoundException
{
fleet.addVehicle(Honda);
userMenu(fleet);

}

最后一行调用 userMenu() 方法。在这种方法中,我需要能够更改 Fleet 内“File”的值,而无需创建该类的新实例。

private void userMenu(Fleet fleet) throws FileNotFoundException
{
PrintWriter pw = new PrintWriter("temp.txt");
File file = new File("temp.txt");
fleet = new Fleet(file);

this.createMenu();
choice = this.menu.getChoice();


while(choice != 8)
{
switch(choice)
{
case 1:
//Do stuff
fleet.addVehicle(Honda);
break;
}
}

此外,我不允许创建任何新的类级别数据。有什么建议吗?

最佳答案

在您的 Fleet 类中为该文件设置 setter 怎么样:

public class Fleet {
private File file;
...

public void setFile( File file ){
this.file = file;
}
}

然后,您可以通过调用此方法来更改舰队对象内的文件

fleet.setFile( myNewFile );

关于java - 更改 "File"参数的值而不创建类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8409193/

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