java读书笔记(二)
声明与初始化实例变量
public class PoorDogTestDrive {
public static void main(String[] args) {
PoorDog one = new PoorDog();
System.out.println("Dog size is " + one.getSize());
System.out.println("Dog name is " + one.getName());
}
}
class PoorDog {
private int size;
private String name;
public int getSize() {
return size;
}
public String getName() {
return name;
}
}
结果
Dog size is 0
Dog name is null
实例变量永远都会有默认值。如果你没有明确的赋值给实例变量,或者没有调用setter,实例变量还是会有值
数据类型 默认初始值 integers 0 floating points 0.0 booleans false references null
实例变量与局部变量之间的差别
-
实例变量是声明在类内而不是方法中
class Horse { private double height = 15.2; private String breed; //more code... }
-
局部变量是声明在方法中的
class AddThing { int a; int b = 12; public int add(){ int total = a+b; return total; } }
-
局部变量在使用前必须初始化
class Foo { public void go(){ int x; int z = x + 3; } } //无法编译!你可以声明没有值的X,但若要使用时编译器就会给出警示
局部变量没有默认值!如果在变量被初始化之前就要使用的话,编译器会显示错误。