Problem 62 Java中的final关键字?
Ans:
在Java中,通常将作为常量的变量声明为final,表示其值不可更改,如果该变量属于对象引用类型(非基本数据类型),则表示其引用是不可更改的,但是引用的对象本身是可以被修改的。不过,final关键字也可以应用于局部变量,实例变量和静态变量。在所有这些情况下,它们的含义都是:在创建这个变量之后,只能够为之赋值一次,此后不能修改它的值了,但不要求在定义的时候就初始化。此外,局部类的方法只能引用定义为final的局部变量。
一个方法中的参数可以被声明为final,这样在方法内部就不能对参数进行修改。
一个方法被声明为final,有两层含义:1.不允许子类覆盖。2.在早期版本(Java 5以前),编译器会将该方法调用转换为内联调用。
类中的任何私有的方法隐式声明为final。
一个类也可以被声明为final,则表明该类不允许继承。
Ans:
在Java中,通常将作为常量的变量声明为final,表示其值不可更改,如果该变量属于对象引用类型(非基本数据类型),则表示其引用是不可更改的,但是引用的对象本身是可以被修改的。不过,final关键字也可以应用于局部变量,实例变量和静态变量。在所有这些情况下,它们的含义都是:在创建这个变量之后,只能够为之赋值一次,此后不能修改它的值了,但不要求在定义的时候就初始化。此外,局部类的方法只能引用定义为final的局部变量。
一个方法中的参数可以被声明为final,这样在方法内部就不能对参数进行修改。
一个方法被声明为final,有两层含义:1.不允许子类覆盖。2.在早期版本(Java 5以前),编译器会将该方法调用转换为内联调用。
类中的任何私有的方法隐式声明为final。
一个类也可以被声明为final,则表明该类不允许继承。