Scanner クラスの使用と、このクラスのオブジェクトをインスタンス化できる方法と場所について考えさせられる何かが起こったとき、私は Java で簡単なプロジェクトを作成していました。
さて、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");
}
}
input
次に、Eclipseで、クラス 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 or inside main method
形状のstatic
、またはそうでない方法。クラス Scanner と一般的な形式のベスト プラクティスについて誰か教えてもらえますか?