【final修饰符】
2015-06-22 21:04
447 查看
【final修饰符】
final修饰的成员蛮必须由程序员显式地指定初始值。
当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型变量而言,它保存的仅仅是一个引用,final只保证这个引用类型所引用的地址不会改变,即一直引用同一个对象,但这个对象的值可以改变。
import java.util.Arrays;
class Person
{
private
int age;
public Person()
{
}
public Person(int age)
{
this.age=age;
}
public
void setAge(int age)
{
this.age=age;
}
public
int getAge()
{
return
this.age;
}
}
public
class FinalReferenceTest
{
public
static void main(String[] args)
{
//final修饰的数组变量,iArr是一个引用变量
final
int[] iArr={5,6,12,9};
System.out.println(Arrays.toString(iArr));
//对数组元素进行排序,合法
Arrays.sort(iArr);
System.out.println(Arrays.toString(iArr));
//对数组元素赋值,合法
iArr[2]=-3;
System.out.println(Arrays.toString(iArr));
//下面语句对iArr重新赋值,非法
//iArr=null;
//final修饰Person变量,p是一个引用变量
final Person p=new Person(50);
//改变Person对象的age Field,合法
p.setAge(20);
System.out.println(Arrays.toString(iArr));
//下面语句对p重新赋值,非法
//p=null;
}
}
final修饰的成员蛮必须由程序员显式地指定初始值。
当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型变量而言,它保存的仅仅是一个引用,final只保证这个引用类型所引用的地址不会改变,即一直引用同一个对象,但这个对象的值可以改变。
import java.util.Arrays;
class Person
{
private
int age;
public Person()
{
}
public Person(int age)
{
this.age=age;
}
public
void setAge(int age)
{
this.age=age;
}
public
int getAge()
{
return
this.age;
}
}
public
class FinalReferenceTest
{
public
static void main(String[] args)
{
//final修饰的数组变量,iArr是一个引用变量
final
int[] iArr={5,6,12,9};
System.out.println(Arrays.toString(iArr));
//对数组元素进行排序,合法
Arrays.sort(iArr);
System.out.println(Arrays.toString(iArr));
//对数组元素赋值,合法
iArr[2]=-3;
System.out.println(Arrays.toString(iArr));
//下面语句对iArr重新赋值,非法
//iArr=null;
//final修饰Person变量,p是一个引用变量
final Person p=new Person(50);
//改变Person对象的age Field,合法
p.setAge(20);
System.out.println(Arrays.toString(iArr));
//下面语句对p重新赋值,非法
//p=null;
}
}
相关文章推荐
- AnyDVD & AnyDVD HD v6.1.3.3 Final 多国语言版 下载
- 暴风影音II V2.4 Final 【万能播放器】下载
- FTP服务器端软件Serv-U FTP Server 6.4.0.5&0.4 Final 汉化版 下载
- PHP面向对象的进阶学习(抽像类、接口、final、类常量)
- php面向对象全攻略 (十) final static const关键字的使用
- jdk中String类设计成final的原由
- java面向对象基础_final详细介绍
- java 中的static关键字和final关键字的不同之处
- java final 和instanceof 关键字的区别
- Java修饰符 abstract,static,final 的区别详解
- Java中final变量使用总结
- java关键字final使用方法详解
- Java中的final关键字详细介绍
- java中final与finally的使用介绍
- final finally与finalize三者的区别
- java中容易混淆的15个问题
- Installing spoonwep2 and spoonwpa on BackTrack 4 final
- java基础知识之——(static final abstract 三个修饰符)
- finally 和 finalize 和final之间的区别
- Java关键字final、static使用总结