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

nfs0ujit  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(327)

这个问题在这里已经有答案了

java中的对象与引用(8个答案)
5个月前关门了。
我是java新手,最近在我的uni类中学习了构造函数。我试着写一个代码来示例化一个带有参数的对象。脚本以参数的形式获取输入 Scanner 示例。
问题是,如果我创建一个方法来示例化其中的一个对象,该对象将被视为该方法的局部变量。如果我创建一个只获取参数的方法并在 main 方法与他们,它变得有些混乱。我的解决方案是创建一个1的方法。获取输入,2。用构造函数示例化一个对象,3。返回刚刚创建的对象。我可以得到我想要的结果,但我不确定这是否可以接受。
这是我的密码:

  1. public class Game {
  2. private int gameID;
  3. private String gameTitle;
  4. private String genre;
  5. // constructor
  6. public Game(int ID, String title, String genre) {
  7. gameID = ID;
  8. gameTitle = title;
  9. this.genre = genre;
  10. }
  11. }
  1. import java.util.Scanner;
  2. public class GameTest {
  3. static Scanner kb = new Scanner(System.in);
  4. public static void main(String[] args) {
  5. Game myGame = constructGame();
  6. }
  7. static Game constructGame() {
  8. int ID = kb.nextInt();
  9. kb.nextLine();
  10. String title = kb.nextLine();
  11. String genre = kb.nextLine();
  12. Game newGame = new Game(ID, title, genre);
  13. return newGame;
  14. }
  15. }

这个解决方案会有问题吗?老实说,我有点担心这里的记忆参照物。

xe55xuns

xe55xuns1#

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

相关问题