Java中final变量的初始化方式
原文转自:http://blog.csdn.net/zhangjk1993/article/details/24196847
1 public class FinalTest1 { 2 //-----------------成员变量------------------// 3 //初始化方式一,在定义变量时直接赋值 4 private final int i = 3; 5 6 //初始化方式二,声明完变量后在构造方法中为其赋值 7 //如果采用用这种方式,那么每个构造方法中都要有j赋值的语句 8 private final int j; 9 10 public FinalTest1() { 11 j = 3; 12 } 13 14 //如果取消该构造方法的注释,程序就会报错,因此它没有为j赋值 15 /*public FinalTest1(String str) { 16 17 }*/ 18 19 //为了方便我们可以这样写 20 public FinalTest1(String str) { 21 this(); 22 } 23 24 //下面的代码同样会报错,因为对j重复赋值 25 /*public FinalTest1(String str1, String str2) { 26 this(); 27 j = 3;//The final field j may already have been assigned 28 }*/ 29 30 31 //初始化方式三,声明完变量后在构造代码块中为其赋值 32 //如果采用此方式,就不能在构造方法中再次为其赋值 33 //构造代码块中的代码会在构造函数之前执行,如果在构造函数中再次赋值, 34 //就会造成final变量的重复赋值 35 private final int k; 36 37 { 38 k = 4; 39 } 40 41 //-----------------类变量(静态变量)------------------// 42 //初始化方式一,在定义类变量时直接赋值 43 public final static int p = 3; 44 45 //初始化方式二,在静态代码块中赋值 46 //成员变量可以在构造函数中赋值,但是类变量却不可以。 47 //因此成员变量属于对象独有,每个对象创建时只会调用一次构造函数, 48 //因此可以保证该成员变量只被初始化一次; 49 //而类变量是该类的所有对象共有,每个对象创建时都会对该变量赋值 50 //这样就会造成变量的重复赋值。 51 public final static int q; 52 53 static { 54 q = 3; 55 } 56 }
转载于:https://www.cnblogs.com/DreamDrive/p/5413484.html
Java中final变量的初始化方式相关推荐
- java类成员变量初始化_探讨Java类中成员变量的初始化方式
在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...
- Java中关于数组的初始化方式
在讲之前,先做一个选择题测试一下:关于数组的初始化方式,以下选项正确的有哪些( ) A.int[] arr = new int[5]; B.int[] arr = {10,20,30}; C.doub ...
- java 中final修饰的变量_java中final修饰符的使用方法
本文为大家分享了java中final修饰符的使用,供大家参考,具体内容如下 1.final修饰符的用法: final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值. final可 ...
- C++类中成员变量的初始化有两种方式
C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值.下面看看两种方式有何不同. 成员变量初始化的顺序是按照在那种定义的顺序. 1.内部数据类型(char,int--指针等) ...
- java中final的意义
转载自 https://blog.csdn.net/hikvision_java_gyh/article/details/8964541 1.如果一个数据既是static又是final,那么它会拥有一 ...
- 转 Java中final、finally、finalize的区别与用法
Java中final.finally.finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承. finally是异常处理语句结构 ...
- java中静态变量和静态方法分别有什么特点?
java中静态变量和静态方法分别有什么特点? 悬赏分:0 - 解决时间:2006-4-10 10:28 提问者: vv_clear - 二级 最佳答案 为什么问了两次?再贴上另一篇 Thinking: ...
- java中final关键字的使用
final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰 类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...
- JAVA中Final的用法
JAVA中Final的用法 1. 修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的 ...
最新文章
- SAP MM 物料主数据MRP2 视图Rounding Value字段
- python_字符串有时可以比较大小哦!
- lintcode: 爬楼梯
- 如何kill掉tomcat服务
- 云计算,移动云计算,虚拟化技术概念以及相关技术注解
- 周报_2012第51周(2012/12/16-2012/12/22)
- 我的C3P0的一些配置心得
- JDK中的Atomic包中的类及使用
- 自己电脑访问跳板机里面的集群中的web ui界面
- 记一次.net core 集成vue 实践
- 共享共建会让中国的5G加速吗?
- Mac终端神器zsh
- WCMS V9方向说明
- http协议报文体_http协议详解之响应报文 3
- 图像处理四:霍夫变换
- [Contest20180116]随机游走
- openstack nova后端使用ceph rbd(增加在线迁移live_migrate和快照snapshot功能)
- sm4 的s盒_国密SM4算法
- Android 自定义带拼音Textview 带音调
- JspStudy环境下tomcat服务器无法正确运行servlet的一种解决方法