`
周一Monday
  • 浏览: 342515 次
  • 来自: 北京
社区版块
存档分类
最新评论

final属性

阅读更多
对于一个final型的静态属性,如果该属性可以在编译时就得到属性值,则可认为该属性可被当成编译时常量。
当程序使用编译时常量时,系统会认为这事对类的被动使用,所以不会导致该类的初始化。
package org.monday.app.test;

class MyTest {
	static {
		System.out.println("静态初始化块..."); //不输出
	}
	static final String compileConstant = "Monday";
}

public class TestCompileConstant {

	public static void main(String[] args) {
		System.out.println(MyTest.compileConstant);
	}
}


--------------------------------------------------------------------------------------------
反之,乳沟final类型的静态属性的值不能在编译时得到,必须等到运行时才可以确定该属性的值,
如果通过该类来访问静态属性,则可以认为是主动访问使用该类,将会导致该类被初始化。
package org.monday.app.test;

class MyTest {
	static {
		System.out.println("静态初始化块..."); //输出
	}
	static final String compileConstant = System.currentTimeMillis() + "";
}

public class TestCompileConstant {

	public static void main(String[] args) {
		System.out.println(MyTest.compileConstant);
	}
}

 

分享到:
评论

相关推荐

    Java反射如何有效的修改final属性值详解

    最近在工作中遇到一个需求,要利用反射对修饰符为final的成员变量进行修改,所以这篇文章主要给大家介绍了关于Java反射如何有效的修改final属性值的相关资料,文中通过示例代码介绍的非常详细,对需要的朋友可以参考...

    Static和Final修饰类属性变量及初始化

    1.static修饰一个属性字段,那么这个属性字段将成为类本身的资源,public修饰为共有的,可以在类的外部通过test.a来访问此属性;在类内部任何地方可以使用.如果被修饰为private私有,那么只能在类内部使用.

    lombok-1.16.16源码和文档

    注解用法   可以作用在类上和属性上,放在类上,...  @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,我们使用这个注解就足够了。

    实验三表的创建.docx

    (2)利用Transact-SQL语句创建表student(表结构如表4-8(76页))、course(表结构如表4-9)和score(表结构如表4-10,usually和final属性的数据类型设置为grade_type),注意主外键的设置。为表输入数据,体会...

    动物招领所源码

    final属性,final方法,final类 三.面向对象的思考方式 将世界看成一个个对象,对象之间可以分类(包),可以相互有继承。面向对象推荐面向接口进行编程,面向接口的核心思想是抽象(只依赖于接口不依赖于具体的实现)这样...

    【05-面向对象(下)】

    仅为该类的属性提供getter方法,不要为该类的属性提供setter方法,因为普通方法无法修改final修饰的 属性  –4.如有必要,重写Object类中hashCode 和equals •缓存实例的不可变类:如果程序经常需要使用不可变类...

    动物招领所系统

    final属性,final方法,final类 三.面向对象的思考方式 将世界看成一个个对象,对象之间可以分类(包),可以相互有继承。面向对象推荐面向接口进行编程,面向接口的核心思想是抽象(只依赖于接口不依赖于具体的实现)这样...

    Java语言程序设计的课程设计项目——利用Java实现地球系动画完整实现实例(第3部分).pdf

    (2)Java 中的数组为静态的 1) 所谓静态的数组是指其长度大小是固定的(利用 length 属性可以获得实际的长度,因 为在每个数组对象中都有 1 个 length 的 final 属性变量,这个变量指定了数组的大小, 即数组可以...

    【Java语言基础】final关键字

    实例变量:当创建对象时,系统会为该对象的实例属性分配内存,并赋默认值。 final修饰局部变量 可以在定义时指定默认值,则后面代码中不能再对改变量赋值。 如果在定义时没有指定默认值,则可以

    WTL90_4140_Final中文安装最新版

    Windows Template Library - WTL Version 9.0 (build 4140 final) 2014-05-20 支持 VS2005 VS2008 VS2010 VS2012 VS2013中文版(英文版VS未做修改) 修改内容: 一、AppWiz 1.修改所有资源文件为中文简体资源...

    ms-dos final+Vista&Win7&Win8的支持补丁(2013.3.31更新)

    "timeout=X"项,把X改为适合你的等待时间,单位为秒(注意修改前去掉其只读属性) 本软件不修改非XP Pro系统的"timeout=X"项,请自行修改 10.有危险因素的磁盘工具等,请了解一定专业知识后小心操作.由于操作不当或其他...

    hibernate-validator-6.0.12.Final-dist.zip

    Hibernate Validator用Annotations 给类或者类的属性加上约束,在运行期检查属性值是很优雅的.Hibernate Validator就是这样的一个框架.该框架是十分容易的(就像参考文档中宣称的那样),几乎没有什么学习曲线,...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记的方法不能被子类复写; (3).final标记的变量即成为常量,只能被赋值一次. 注意: ...

    hibernate-validator-5.0.1.Final

    hibernate validator 框架的最新发布版本 可以验证bean的属性

    资深互联网大佬的5000字吐血总结——Java面向对象三大修饰符之abstract、static、final

    static 可以修饰初始化代码块扩充内容三、final(最终的,最后的)1.final可以修饰变量2.final可以修饰方法3.final可以修饰类总结abstract、static、final可以修饰的内容abstract、static、final是否可以修饰构造...

    Java反射如何修改private final成员变量值

    主要介绍了Java反射如何修改private final成员变量值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    WinRAR 5.0 Final烈火汉化中文版 32位版本(已注册)【修正文件错误】

    对于zip 和 rar 的自释放档案文件( dos 和 windows 格式均可),点击属性就可以轻易知道此文件的压缩属性,如果有注释,还能在属性中查看其内容 简体中文特别版特点: * 基于官方简体中文版升级(基于Winrar 5.0...

    Hibernate 3.6.1.Final JavaDoc chm版

    Hibernate 3.6.1.Final JavaDoc chm版 完美的的搜索功能,支持全文检索。2011年3月制作。如果打不开,请选中它,点右键 看属性,选择解除锁定。别再抱怨打不开了。

    hibernate-release-4.0 Final API

    内容为hibernate-release-4.0.0.Final 英文 API 。制作自http://www.hibernate.org/。如果下载后出现显示无法显示网页,请点击文件-右键-属性-解除锁定。再打开就应该没问题了。

    FlashFXP(FTP上传工具)V4.1.5.1668 Final烈火汉化绿色版

    FlashFXP 是一个功能强大的 FXP/FTP 软件,融合了一些其他优秀 FTP 软件的优点,如像 CuteFTP 一样可以比较文件夹,支持彩色文字显示;...可以显示或隐藏“隐藏”属性的文件、文件夹;支持每个站点使用被动模式等

Global site tag (gtag.js) - Google Analytics