Final 关键词的妙用

没有人告诉我这个事实:

When the constructor exits, the values of final fields are guaranteed to be visible to other threads accessing the constructed object.

还有一个教训就是:

要仔细看完JAVA example 的 code。

时间: 2024-08-26 12:24:14

Final 关键词的妙用的相关文章

Java final关键词

final关键词的四种用法 * * final 关键字:最终的.不可改变的 * 1.可以用来修饰一个类 * 2.可以用来修饰一个方法 * 3.可以用来修饰一个局部变量 * 4.可以用来修饰一个成员变量 * * * 1.final 修饰一个类: * 格式: * public class final 类名称 { * // 方法区 * } * 含义:当前的类不能更改,不能有子类(太监类) * 不能使用一个 final 修饰的类来当父类,这个类里面的所有方法也就不能进行覆盖重写了. * * * 2.fi

final关键词

final关键字: 1.final关键字可以用来修饰类,属性,方法 2.final关键字修饰的类不能再被继承.比如:String String类是final修饰类,不能被继承 3.final关键字修饰的方法,不能再被子类重写 4.final关键字修饰的变量,初始化以后不能发生改变 在java中使用static和final关键字共同修饰的变量称之为常量,常量名全大写 如:public static  final  int AGE=20: 5.final修饰的引用类型的变量,引用地址不能发生改变,但

java继承-final关键词用法

final关键字特点: 1.可以用来修饰变量.方法.类. 2.修饰的变量是一个常量.一旦被赋值就不能被修改(常量一般都和static关键字配合使用) 3.修饰类代表此类不能被继承4.修饰方法代表次方法不能被重写 public class finalDemo { public static void main(String[] args) { // TODO Auto-generated method stub final DemoA dA = new DemoA(); DemoB dB = ne

Java学习(final、static关键词)

final关键词 概念:final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 特点: 1.final修饰的类不可以被继承,但可以继承别的类. class Yy {} final class Fu extends Yy{} //可以继承Yy类 class Zi extends Fu{} //不能继承Fu类 2. final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final. class Fu { /

java回顾之final

final关键词用于表示它修饰的类,方法,变量不可改变修饰变量时,一旦其获得了初始值,就不可改变,它既可以修饰成员变量,也可以修饰局部标量,形参等final修饰的成员变量必须现实的指定初始值,系统不会饮食的对其进行隐式初始化 例如 public class FinalVariableTest { public void test(final int a) { //a=5;//错误,应该由系统传入的参数进行初始化,所以这里不能被赋值 } public static void main(String

java学习资料

必须养成好的的编码习惯:缩进(用空格).注释.命名约定. 大小写敏感. 单独的":"代表一条空语句. main函数是我们整个程序的执行入口所以必须是静态公开的. 必须写成这样:  public static void main(String[]args){...} 生成jar包: 在eclipse里,选中要打包的几个文件,右键-Export-写文件名-Next-Next-选main方法的class-finish 在jar包的同一文件夹下,新建一个空文档,写"java -jar

java基础-变量

java中的变量分为四种: 实例变量(非静态字段):一个java类中没有static关键词修饰的字段 类变量(静态字段):一个java类中带有static关键词修饰的字段. 局部变量:一个封闭的花挂号(如方法中)内定义的变量. 参数:传递给方法的变量. 变量的命名 要求 变量的名称对大小写敏感,变量的名称可以是任何有效的标识符--可以有任意长度的Unicode字母和数字组成,不能使用空白字符 不能以数字开头,一般不提倡使用$或下划线开头,因为一些机器产生的名称中包含"$" 不能使用关键

java基础五 [数字与静态](阅读Head First Java记录)

本章主要讲了静态变量.静态方法,final关键词.以及介绍了怎么对数字和日期进行格式化输出.这里对这些内容进行了整理.本章还介绍了java.util.Date和java.util.Calendar来操作日期,但是这个直接看API就比较清楚,这里就不写了. static static标记过的,与类的实例对象无关 静态方法: 使用static关键词来标记静态方法.有些方法不需要用到类的实例变量,静态变量的代表“一种不依靠实例变量也就不需要对象的行为”.Math就是一个静态方法 调用静态方法:类名.方

【转】 Java 多线程之一

转自   Java 多线程 并发编程 一.多线程 1.操作系统有两个容易混淆的概念,进程和线程. 进程:一个计算机程序的运行实例,包含了需要执行的指令:有自己的独立地址空间,包含程序内容和数据:不同进程的地址空间是互相隔离的:进程拥有各种资源和状态信息,包括打开的文件.子进程和信号处理. 线程:表示程序的执行流程,是CPU调度执行的基本单位:线程有自己的程序计数器.寄存器.堆栈和帧.同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源. 2.Java标准库提供了进程和线程相关