final修饰基本类型变量和引用变量区别
来源:互联网 发布:淘宝 知己知彼 好用么 编辑:程序博客网 时间:2024/06/07 05:05
一 概念介绍
1 当使用final修饰基本数据类型时,不能对其重新赋值,不能被改变。
2 当使用final修饰引用类型变量时,它仅仅保证他的地址不变,即一直引用同一个对象,但这个对象完全可以发生改变。
二 final修饰引用类型变量应用
1 代码示例
import java.util.*;class Person{private int age;public Person(){}// 有参数的构造器public Person(int age){this.age = age;}// 省略age的setter和getter方法// age的setter和getter方法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] = -8;System.out.println(Arrays.toString(iArr));// 下面语句对iArr重新赋值,非法// iArr = null;// final修饰Person变量,p是一个引用变量final Person p = new Person(45);// 改变Person对象的age实例变量,合法p.setAge(23);System.out.println(p.getAge());// 下面语句对p重新赋值,非法// p = null;}}
2 运行结果
[5, 6, 12, 9]
[5, 6, 9, 12]
[5, 6, -8, 12]
23
3 结果分析
使用final修饰的引用不能被重新赋值,但可以改变引用类型所引用对象的内容。
0 0
- final修饰基本类型变量和引用变量区别
- final修饰基本类型和引用类型变量的区别
- 66 Java final 修饰基本类型变量和引用类型变量的区别
- 6.4.3 final修饰基本类型变量和引用类型变量的区别
- java final 与引用类型变量和基本类型区别
- final修饰引用与修饰变量的区别
- this、super、final关键字(以及final修饰基本数据类型和引用类型的区别)
- Java中的基本类型和引用类型变量的区别
- JS变量基本类型和引用类型的区别
- Java中的基本类型和引用类型变量的区别
- Java 中基本类型 和 引用类型 变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- final 与static final修饰变量区别
- final 与static final修饰变量区别
- final 与static final修饰变量区别
- 基本类型和引用类型变量
- final成员变量和final局部变量
- QT学习记录
- 六种领导风格
- 网络编程_客户端键盘录入服务器控制台输出
- Android图片压缩的两个开源库:Luban和Compressor
- final修饰基本类型变量和引用变量区别
- 生活对工作的影响
- linear-gradient() 实现渐变
- 微信支付遇到的几种问题
- 命令模式
- python之处理excel并作图
- 接口和抽象类的联系和区别
- 深入Java集合系列之五:PriorityQueue
- 接口的继承