java final属性
java final属性
看到有个程序中有个属性声明是这样的
private static long counter = 0;
private final long id = counter++;
final不是不能更改吗?这里怎么还counter++呢?求解释,谢谢
class Composing {
private static long counter = 0;
private final long id = counter++;
public Composing() {}
}
public class ReferenceCounting13 {
public static void main(String[] args) {
Shared shared = new Shared();
Composing[] composing = { new Composing(shared),
new Composing(shared), new Composing(shared),
new Composing(shared), new Composing(shared)
};
也就是说每次new Composing(shared), 的时候都要初始化一次id属性?
答:
final 声明的是最终变量,方法,或类,一旦创建便不可更改,final声明的最终方法不可被修改,最终类不可被继承!上面id使用final修饰声明的,一旦赋值之后,便不可再原来的值。private final long id = counter++;这句代码的意思是,先把counter的值赋给id,然后在执行counter+1;所以id的值为0,counter的值为1。id是新创建的,以前并没有值,此处只是给他赋值为counter。执行完这句代码之后,便不能再次对它赋值,和自增,减运算!
java final属性相关推荐
- java反射设置属性值_Java反射如何有效的修改final属性值详解
前言 以前写过一篇 Java 反射修改 final 属性值,本文将在这里重新温习一下Java反射如何有效的修改final属性值,下面话不多说了,来一起看看详细的介绍: 假设有个类 class Pers ...
- 方法对象java final关键字的用法
之前一直在查找方法对象之类的问题,今天正好有机会和大家讨论一下. 1.用final关键字设置常数 很多程序设计语言都有自己的方法告知编译器某个数据是"常数".常数重要应用于下述两个 ...
- java 对象视图框架_Stripes视图框架Java对象属性验证和prototype.js Ajax的测试
Stripes视图框架Java对象属性验证,它允许对字段设置是否必须填写,对数字大小进行限制等.我用prototype.js Ajax 将验证后的数据及时地展示出来,下面来看程序. 1.编写User实 ...
- java final 初始化_[转]java static final 初始化
1.static修饰(类变量)一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为privat ...
- java final对象_java面向对象基础_final详细介绍
一.final关键字 1.final修饰的成员变量,其实就是常量 public class Example01 { public final String userName="小李" ...
- 使用反射修改final属性
情型1:static final属性,无法修改其值. package m5.d7; import java.lang.reflect.Field; public class FieldTest { p ...
- final 在java,final 在java中的注意点
final 在java中的注意点 注意事项慢慢积累 final 类不可被继承,也不能有子类. final class Book{} //class ComBook extends Book{} ...
- fianl属性 java_Java反射如何有效的修改final属性值详解
前言 以前写过一篇 Java 反射修改 final 属性值,本文将在这里重新温习一下Java反射如何有效的修改final属性值,下面话不多说了,来一起看看详细的介绍: 假设有个类 class Pers ...
- Java final与static
Java final关键词 修饰类 该类不能被继承 修饰方法 该方法不能被重写 修饰变量 该变量只有一次赋值机会 Java static关键词 修饰方法 不能访问外部的非static属性
最新文章
- 网络名称空间 实例研究 veth处于不同网络的路由问题
- 第14章 结构和其他数据形式 14.12 typedef 简介
- oracle里的ols机制,Oracle ASM的AU(Allocation units)分配
- 解析IntelliJ IDEA内部设计
- ubuntu更换软件源方法和实验成功软件源地址
- akshare双均线backtrader
- Code Sinppet
- 2999元起!苹果悄然发布两款iPad新品 升级至A12处理器
- (转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据
- 【推荐系统】推荐系统中的图网络模型
- [VB.NET]请教一个如何对姓名进行同音字查询?
- JavaScript函数思维导图
- matlab对信号DTFT,【MATLAB】离散傅里叶变换DTFT和IDTFT
- 嵌入式电子钢琴游戏开发设计
- python解决控制问题系例之一:解决微分方程-状态方程求解作图问题
- Nodejs使用ffi调用so库
- 一名中专生的坎坷程序人生
- ava.lang.IllegalArgumentException: At least one base package must be specified 	at org.springframewo
- linux下wifi实现
- seaborn seaborn色板的使用设置(二)
热门文章
- Google推出了Python最牛逼的编辑器,不看后悔一辈子!
- 我的代码第一次运行时的样子
- 一个C++程序员生产力,大概相当20个C程序员,200个java程序员?
- arduino编程时加{}报错_使用Arduino开发板时最常见的10个错误
- 用渐变色画圆_详细步骤!用ps画个中秋圆月亮
- 离散中多重组合是指_数学系离散数学的几大核心领域
- 拥有Mac的你怎么可以不知道Downie,Downie4最新更新「安装与使用」
- python多线程有用吗_Python多线程理解
- qaxobject控制word到某一行_太简单了!Excel信息导出为每页打印一行,且批量添加同一表头...
- 洛谷 深基 第1部分 语言入门 第2章 顺序结构程序设计