java面试题之3

常量和静态变量的区别

1、非基本类型的常量一但赋值后,不能修改其引用,但可以改变引用所指对象的属性值:
eg: class A

{

int a ;//类A的一个属性

}

final A a = new A();//定义一个非基本类型的常量 a

a.a=7; 这是可以的

a.a=8:这是可以的

但是
a= new A();这是不可以的(试图重新给a引用一个新的对象(错))

2、基本类型常量是不能修改其值。

3、静态变量本质是变量 是整个类所有对象所共享的一个变量,其值一但改变对这个类的所有对象都有影响。