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

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

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

java中的对象与引用(8个答案)
5个月前关门了。
我是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;
    }
}

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

xe55xuns

xe55xuns1#

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

相关问题