final关键字使用
来源:互联网 发布:中国海军实力 知乎 编辑:程序博客网 时间:2024/05/21 08:42
package szsm;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;/** * * @author 2萌 * final: * 1、final修饰符可以修饰局部变量、成员变量、方法、类 * 2、用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字 * final所修饰,它的取值在程序的整个执行过程中将不会改变。 * 3、而对于对象引用,不能改变的是他的引用,而对象本身是可以修改的。一旦一个final引用被初始化指向一个对象,这个引用将不能在指向其他对象。 * java并未提供对任何对象恒定不变的支持。这一限制也通用适用于数组,它也是对象。 */public class FinalTest {final static int a;final String str;final List list;/** * 注意一: * 对final修饰的成员变量赋值,在静态代码块或者是类的构造方法里面。 * 注意两种方法赋值时候final定义变量的不同写法,如果是静态代码块对其进行初始化时候必须加static关键字 * 但是对于在构造方法中初始化的时候不需要写static关键字修饰 */FinalTest() {str = "10";list = new ArrayList();}FinalTest(String ii, List l) {str = ii; list = l; }static {a = 3;}/* * 注意二: * final修饰的成员变量不可以在普通方法里面对其赋值。 * 报错提示:The final field FinalTest.a cannot be assigned *///public void A () {//a = 11;//}public static void main(String[] args) {FinalTest finalTest = new FinalTest();finalTest.list.add(new FinallyTest());System.out.println("finalTest.str = " + finalTest.str + " " + finalTest.list.getClass());//finalTest.A();System.out.println(finalTest.a);/** * finalTest.list = new LinkedList(); * 对象的引用是不可以变化的 * 此语句异常提示: * The final field FinalTest.list cannot be assigned *///finalTest.list = new LinkedList();finalTest = new FinalTest("zhangsan",new ArrayList());finalTest.list.add(new FinallyTest());System.out.println("finalTest.str = " + finalTest.str + " " + finalTest.list.getClass());}}
打印结果:
finalTest.str = 10 class java.util.ArrayList
3
finalTest.str = zhangsan class java.util.ArrayList
0 0
- final关键字使用
- final关键字的使用
- final关键字的使用
- final 关键字的使用
- Java final关键字使用
- final关键字使用
- final关键字的使用
- final关键字的使用
- final关键字的使用
- final关键字的使用
- final 关键字的使用
- final关键字的使用
- final关键字的使用
- final关键字的使用
- java final 关键字使用
- final关键字使用
- Java关键字final、static使用
- 使用final关键字的规则
- 【Python系列】01-Python简介
- CodeProject的网站
- 几种公司的测试框架(未完待续)
- AT&T汇编 基本数学功能
- 增加去抖动的新型的按键扫描程序
- final关键字使用
- Android Socket IQ聊天软件 之 聊天气泡编码步骤讲解
- 数据表分区
- 有光毕业设计--activity设计
- Installation. Hbase-0.98.7-hadoop2 SetUp
- android WebView总结
- 安卓学习记录(一)activity间信息交互的四种方式
- QEMU KVM libvirt 手册(1): 安装
- C++primer(第五版)第三章字符串、向量和数组学习笔记1(string包含C++11特性及部分习题解答)