我只是想学习Java。 我的教科书说,在main之外定义常量是一种好习惯,所以我不会无意中用大写字母来改变它们。 定义扫描程序(java.util.Scanner)以从键盘获取输入的典型方法是:
public static Scanner keyboard = new Scanner(System.in);
在主内部。
我认为扫描仪通常在程序运行时没有改变,所以它通常是一个常量。 在大写字母之外用大写字母定义常量扫描仪是不错的做法,所以前几行会是这样的?:
package test;
import java.util.Scanner;
public class Test_class_2{
public static Scanner KEYBOARD = new Scanner(System.in);
public static void main(String[] args) {
答案 0 :(得分:1)
这不是一个好习惯,因为它是可变的。
只应在CAPS中声明不可变常量,并且还应添加final
关键字,这意味着该值不能更改。类似的东西:
static final String CONSTANT_NAME = "CONSTANT_VALUE" ;
这是对java中可变和不可变值的一个很好的解释。
可变对象可以在构造后更改其字段。 不可变对象不能。不可变对象只是其对象 构造后状态(对象的数据)不能改变
答案 1 :(得分:0)
Java使用final关键字来定义常量。
final int PI = 3.14;//ths is a constant and you can't change its value
另一方面,键盘(您定义为Scanner)是指存储器中存储特定对象信息的位置。现在您可以更改键盘指向的位置,例如:
keyboard = new Scanner(System.in);//now keyboard points to a different location at the memory
所以通常键盘不是常量,因为在程序执行期间可以采用不同的值(可以指向不同的对象)。