我正在研究 Bruce Eckel 书中的一个示例,我想知道为什么当我输出初始化值时它们没有保留?
class InitialValues2 {
boolean t = true;
char c = 'x';
byte b = 47;
short s = 0xff;
int i =999;
long l =1;
float f = 3.14f;
double d =3.14159;
InitialValues reference;
void printInitialValues() {
System.out.println("data type Initial values");
System.out.println("boolean " + t);
System.out.println("char [" + c + "]");
System.out.println("byte " + b);
System.out.println("short " + s);
System.out.println("int " + i);
System.out.println("long " + l);
System.out.println("float " + f);
System.out.println("double " + d);
System.out.println("reference " + reference);
} //end printinitialvalues
public static void main(String args[]) {
InitialValues iv = new InitialValues();
iv.printInitialValues();
//new InitialValues().printInitialValues();
} //end main
}
所有变量输出 0 和空值。
最佳答案
我看到一个问题。这些变量是在名为 InitialValues2 的类中声明的,但您是在类型为 InitialValues 的对象上调用 printInitialValues() 方法。看来您永远不会调用 printInitialValues() 方法。
关于Java:为什么这些变量不初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1167769/