读书人

关于final修饰符的一些学问

发布时间: 2012-10-18 13:46:55 作者: rapoo

关于final修饰符的一些知识
写道根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。

?

1.用final修饰的成员变量表示常量,值一旦给定就无法改变!?

??????? final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会被扩展,那么就设计为final类。

2.final方法不能被改写

????? 使用final方法的两个原因:

??????? 第一、把方法锁定,防止任何继承类修改它的意义和实现。
??????? 第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。

3. final类不能被继承

?

4. final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。

?

5.static和final一块用表示什么?
????? static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!?
???????? a)对于变量,表示一旦给值就不可修改,并且通过类名可以访问。?
??????? ?b)对于方法,表示不可覆盖,并且可以通过类名直接访问。

读书人网 >编程

热点推荐