final关键字
来源:互联网 发布:java开放性思维面试题 编辑:程序博客网 时间:2024/06/11 01:18
一、final数据
(1)、编译期常数,它永远不会改变;
(2)、无论static还是final字段,都只能存储一个数据,而且不可以改变,对于基本类型来说,final会将值变成一个常数,但对于对象来说,final会将对象变成一个常数,对象不可改变,但对象本身是可以改变的,例如:
class Value{
int i = 1;
}
public class Property {
final int i1 = 9;
static final int i2 = 99;
public static final int i3 = 39; //public表示可在包外使用,static强调只有一个,final表明是一个常数
final int i4 = (int)(Math.random()*20);
static final int i5 = (int)(Math.random()*20);
Value v1 = new Value();
final Value v2 = new Value();
static Value v3 = new Value();
final int[] a = {1,2,3,4,5,6};
public void print(String id){
System.out.println(id + ":" + "i4 = " + i4 + " , i5 = " + i5);
}
public static void main(String[] args) {
Property fd1 = new Property();
// fd1.i1 ++;
fd1.v2.i ++;
fd1.v1 = new Value();
for(int i=0; i<fd1.a.length; i++){
fd1.a[i] ++;
}
// fd1.v2 = new Value();
// fd1.v3 = new Value();
// fd1.a = new int[3];
fd1.print("fd1");
System.out.println("Creating new Property");
Property fd2 = new Property();
fd1.print("fd1");
fd2.print("fd2");
}
}
结果:
fd1:i4 = 2 , i5 = 3
Creating new Property
fd1:i4 = 2 , i5 = 3
fd2:i4 = 7 , i5 = 3
(i4是static的,只被初始化一次,所以两次值一样)
二:final方法,final关键字定义的方法不可以被重载;
三:final类:final关键字定义的类不可以被继承(相当于类中的方法都是final类型的);
- Final关键字
- final关键字
- final关键字
- final关键字
- final关键字
- final 关键字
- final关键字
- Final 关键字
- Final关键字
- 关键字 final
- final关键字
- final关键字
- final关键字
- 关键字final
- Final 关键字
- final关键字
- final关键字
- final 关键字
- TextView一行最多显示8个 其他的字符自动滚动
- ogre世界坐标与屏幕坐标相互转换
- 5-1 N个数求和 (20分)
- 指针函数与函数指针
- Ubuntu 14.04 LTS Meld对比工具添加到右键菜单方法
- final关键字
- linux的sed用法
- 利用docker容器ubuntu安装truecrypt
- opencv之split和merge分离通道和合并多通道的用法
- 一个简单HTML实现一个选项卡
- Ubuntu14.04下面利用TFTP上传和下载文件过程
- 查找带回
- 常见的开源许可协议及如何选择(整理)
- 2017.02.22回顾