Java Eclipse建议更改代码。我必须如何以及在何处实例化导入类的对象?
我正在用Java做一个简单的项目,这时发生了一件事,让我想到了Scanner类的使用,以及我们可以实例化这个类的对象的方式和位置 好的,Eclipse给了我一个关于如何以及在哪里实例化Scanner类的对象的建议 我将用一个非常奇怪的Hello World示例来说明: 这是我第一次做的形状:Java Eclipse建议更改代码。我必须如何以及在何处实例化导入类的对象?,java,eclipse,static,java.util.scanner,Java,Eclipse,Static,Java.util.scanner,我正在用Java做一个简单的项目,这时发生了一件事,让我想到了Scanner类的使用,以及我们可以实例化这个类的对象的方式和位置 好的,Eclipse给了我一个关于如何以及在哪里实例化Scanner类的对象的建议 我将用一个非常奇怪的Hello World示例来说明: 这是我第一次做的形状: import java.util.Scanner; public class HelloWorld { public static void main(String[] args) {
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");
}
}
我导入的类的实例,
out或insidemain方法
,最常见的方式是如何生成shapestatic
或not。有人能告诉我们一些关于类扫描器和一般形式的最佳实践吗?当扫描器在主方法之外声明时,它是一个类字段,否则它是一个局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。当scanner在主方法之外声明时,它是类字段,否则它是局部变量。根据您是否只想在一个方法中使用您的对象(无需调用另一个带有scanner作为参数的方法)或使其可用于整个类,您应该将其声明为局部变量或类字段。使用您的示例,代码应该如下所示
import java.util.Scanner;
public class HelloWorld implements Runnable {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.run();
helloWorld.close();
}
@Override
public void run() {
System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, " +
"".concat(name), "\n");
}
public void close() {
input.close();
}
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行
处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置
我有一个默认构造函数,它不传递任何参数
我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它
如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。使用您的示例,代码应该如下所示
import java.util.Scanner;
public class HelloWorld implements Runnable {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.run();
helloWorld.close();
}
@Override
public void run() {
System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, " +
"".concat(name), "\n");
}
public void close() {
input.close();
}
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行
处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置
我有一个默认构造函数,它不传递任何参数
我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它
如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。使用您的示例,代码应该如下所示
import java.util.Scanner;
public class HelloWorld implements Runnable {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.run();
helloWorld.close();
}
@Override
public void run() {
System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, " +
"".concat(name), "\n");
}
public void close() {
input.close();
}
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行
处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置
我有一个默认构造函数,它不传递任何参数
我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它
如果扫描仪定义只在一种方法中使用,那么它应该在该方法中定义。使用您的示例,代码应该如下所示
import java.util.Scanner;
public class HelloWorld implements Runnable {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.run();
helloWorld.close();
}
@Override
public void run() {
System.out.println("Type your name: ");
String name = input.nextLine();
System.out.printf("%s%s", "Hello World for you, " +
"".concat(name), "\n");
}
public void close() {
input.close();
}
}
main()方法应该只实例化类并执行可运行的方法。如果需要进行任何args处理,可以在main方法中进行
处理应该在类方法中进行。我选择run(),因为它是我最常见的类设置
我有一个默认构造函数,它不传递任何参数
我将Scanner定义放在run方法之外,因为它在run方法和close方法中使用。大多数学生忘记了扫描仪的关闭,因此将关闭放在自己的方法中有助于记住使用它
如果扫描仪定义仅在一种方法中使用,那么它应该在该方法中定义。如果我再次对它感到好奇,我肯定会求助于你的答案。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。我一定会以你的回答来回答我的疑惑。我希望保留您的有用信息。谢谢,Le Blanc先生。