java final域
public final class ThreeStooges {
/*
* stooges是Set<String>类型的引用,final限定该引用成员属性stooges被赋初值后,就不能再改变去引用其他的同类对象
* final只是限定了声明的引用stooges不能改变,stooges引用的对象能不能改变,由被引用对象本身的类定义来决定
*/
private final Set<String> stooges = new HashSet<String>();
public ThreeStooges() {
stooges.add("Moe");
stooges.add("Larry");
stooges.add("Curly");
//stooges = new HashSet<String>(); //The final field ThreeStooges.stooges cannot be assigned
}
/**
* 向被引用的HashSet中添加一个元素
* final域stooges仍引用着赋初值时的那个HashSet对象,而stooges.add(name);只是向被引用的被引用的HashSet中添加一个元素
* @param name
*/
public void add(String name) {
stooges.add(name);
}
public boolean isStooge(String name) {
return stooges.contains(name);
}
public void print() {
Iterator<String> iterator = stooges.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next() + ", ");
}
}
public static void main(String[] args) {
ThreeStooges ts = new ThreeStooges();
ts.add("asn");
ts.print();
}
}
输出:
Moe,
asn,
Curly,
Larry,
java final域的更多相关文章
- Java内存模型-final域的内存语义
一 引言 说到final你肯定知道它是Java中的关键字,那么它所在Java中的作用你知道吗?不知道的话,请前往这篇了解下https://www.cnblogs.com/yuanfy008/p/802 ...
- Java并发编程之final域的内存语义
一.final域的重排序规则 对于final域,编译器和处理器要遵循两个重拍序规则: 1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序 ...
- Java并发编程原理与实战四十四:final域的内存语义
一.final域的重排序规则 对于final域,编译器和处理器要遵循两个重拍序规则: 1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序 ...
- java final keyword
依据上下文环境,java的keywordfinal也存在着细微的差别,但通常指的是“这是无法改变的.”不想改变的理由由两种:一种是效率,还有一种是设计.因为两个原因相差非常远,所以关键子final可能 ...
- Java——final关键字
前言 Java中的关键字final的含义通常为"这是无法改变的".下面将介绍final用于修饰数据.方法和类的这三种情况. final数据 许多编程语言都有某种方法,来向告诉编译器 ...
- final域的内存语义
final 一.final的基本语义 final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量) 当用final修饰一个类时,表明这个类不能被继承. 当用final修饰一个方法时,表明这个方 ...
- Java中域 实例域 静态域
1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性. 比如类的字段(属性),局部的,全局的.所谓域,其实是“field”的翻译 然后实例域,就是 实例(&qu ...
- 深入java final关键字
Java final关键字详解:https://blog.csdn.net/kuangay/article/details/81509164 深入java final关键字 用法注意点和JVM对其进行 ...
- 【笔试题】Java final keyword
Java 知识测试 Java final keyword Question 1 What is the use of final keyword in Java? A. When a class is ...
随机推荐
- fedora安装mod_python
3.1 Installing mod_python To install mod_python, we simply run: yum install mod_python 3.2 Configuri ...
- 学习String类
1. 描述: String类是java中比较常用的类, 表示字符串类型 当拼接大量数据时, String类性能没有StringBuilder和StringBuffer性能高 2. 常用的String语 ...
- jsp里更新Clob类型字段数据
ResultSet rs = null; Connection conn = new dbconn().getconnect(); Statement stmt = null; int news=0; ...
- 2019-11-20-WPF-使用-MyScript-的-IInk-做手写识别
title author date CreateTime categories WPF 使用 MyScript 的 IInk 做手写识别 lindexi 2019-11-20 08:18:26 +08 ...
- 【心有猛虎】react-lesson
这个项目标识:构建一套适合 React.ES6 开发的脚手架 项目地址为:https://github.com/ZengTianShengZ/react-lesson 运行的是第一课,基本上可以当作是 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画 学习目标 熟悉蒙皮动画的术语: 学习网格层级变换 ...
- windows.open window.location.href的用法和区别
window.location.href 只能在当前页面打开,不能用新窗口打开 windows.open("URL","窗口名称","窗口外观设定& ...
- 【Leetcode堆】数据流中的第K大元素(703)
题目 设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数 ...
- 2019-3-21-win10-uwp-修改图片质量压缩图片
title author date CreateTime categories win10 uwp 修改图片质量压缩图片 lindexi 2019-03-21 15:29:20 +0800 2019- ...
- python 异常处理与流程控制