gpt4 book ai didi

java - Eclipse 建议更改代码。我必须如何以及在何处实例化导入类的对象?

转载 作者:行者123 更新时间:2023-12-01 23:26:10 24 4
gpt4 key购买 nike

我正在用 Java 制作一个简单的项目,当时发生的一些事情让我思考 Scanner 类的使用以及实例化此类对象的方式和位置。

好吧,Eclipse 给了我一个关于如何以及在何处实例化 Scanner 类对象的建议。

我将用一个非常奇怪的 Hello World 示例来说明:

这是我一开始做的形状:

import java.util.Scanner;

public class HelloWorld {

public static void main(String[] args) {

Scanner input = new Scanner(System.in); // Object declared inside of main method, accessing the standard input stream.

System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, ".concat(name), "\n");
}
}

然后,在 Eclipse 上,我有一个关于我的对象 input 的警报,它是 Scanner 类的实例。作为解决方案,他给了我一个建议:

import java.util.Scanner;

public class HelloWorld {

static Scanner input = new Scanner(System.in); // Object declared out of main of static form.

public static void main(String[] args) {

System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, ".concat(name), "\n");
}
}

最常见的方式是如何使我导入的类实例(在主方法外部或内部)的形状为静态或非静态。任何人都可以讲述有关 Scanner 类和一般形式的最佳实践吗?

最佳答案

当 Scanner 在 main 方法之外声明时,它是一个类字段,否则它是一个局部变量。根据您是否只想在一个方法中使用对象(无需使用扫描仪作为参数调用另一个方法)或让它可用于整个类,您应该将其声明为局部变量或类字段。

关于java - Eclipse 建议更改代码。我必须如何以及在何处实例化导入类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19956320/

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