Java中的final
2016-02-29 21:32
239 查看
转自:http://www.cnblogs.com/mengdd/archive/2012/12/26/2834711.html
Final
final关键字可以理解为终态。
final修饰类
final修饰的类不允许被继承。一个类不能既是final的,又是abstract的。因为abstract的主要目的是定义一种约定,让子类去实现这种约定,而final表示该类不能被继承,两者矛盾。
final修饰方法
final修饰方法,表示该方法不能被子类中的方法覆写Override。
final修饰变量
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。当final修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化;
如果final修饰一个引用类型时,表示该引用类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
本质上是一回事,因为引用的值是一个地址,final要求值,即地址的值不发生变化。
final修饰一个成员变量(属性),必须要显示初始化。
这里有两种初始化方式,一种是在变量声明的时候初始化;第二种方法是在声明变量的时候不赋初值,但是要在这个变量所在的类的所有的构造函数中对这个变量赋初值。
当函数的参数类型声明为final时,说明该参数是只读型的。
相关文章推荐
- Spring的Bean之Bean的基本概念[转]
- 利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类
- 安卓异常java.lang.IllegalStateException: Content has been consumed
- [疯狂Java笔记]AWT容器简介
- java多线程系列01——多线程基础
- Hibenate错误汇总:java.lang.NoClassDefFoundError:
- Spring进阶之路(4)-容器中Bean作用域与集合类型配置
- Java学习之多态
- Java抽象类和接口的若干问题
- 开源框架spring详解-----AOP的深刻理解(1)
- 111. Minimum Depth of Binary Tree
- 南阳ACM 题目71:独木舟上的旅行 Java版
- Java中equals()方法和“==”的区别
- spring ioc 原理小解
- Java的反射机制的作用
- 【Java基础】RTTI与反射之Java
- hihocoder week 86 Spring Outing【思维】
- 112. Path Sum
- java中volatile关键字的含义
- Spring mvc整合Mybatis例子