通过从方法的返回值复制来实例化对象是否可以接受



我是Java新手,最近了解了uni类中的构造函数。我试着写一段代码,用参数实例化一个对象。脚本使用Scanner实例获取作为参数的输入。

问题是,如果我创建一个方法来实例化其中的对象,那么该对象将被视为该方法的局部变量。如果我创建一个只获取参数的方法,并用它们在main方法中实例化对象,就会变得有些混乱。我的解决方案是创建一个1的方法。获取输入,2。用构造函数实例化对象,以及3。返回刚刚创建的对象。我可以得到我想要的结果,但我不确定这是否可以接受。

这是我的代码:

public class Game {
private int gameID;
private String gameTitle;
private String genre;
// constructor
public Game(int ID, String title, String genre) {
gameID = ID;
gameTitle = title;
this.genre = genre;
}
}
import java.util.Scanner;
public class GameTest {
static Scanner kb = new Scanner(System.in);
public static void main(String[] args) {
Game myGame = constructGame();
}

static Game constructGame() {
int ID = kb.nextInt();
kb.nextLine();
String title = kb.nextLine();
String genre = kb.nextLine();
Game newGame = new Game(ID, title, genre);
return newGame;
}
}

这个解决方案会成为问题吗?老实说,我有点担心这里提到的记忆。

这是完全可以接受的。如果constructEmployee将它使用的Scanner作为参数,然后main方法将扫描程序传递给它,这可能会更干净,但您当前的代码本身没有问题。

相关内容

最新更新