// FinalData.java

package com.hp.ci.mgmt.perm.hal.localization;

import java.util.Random;

class Value
{
int i; public Value(final int i)
{
this.i = i;
} } /**
*
*/
public class FinalData
{
private static Random rand = new Random(47); private String id; public FinalData(final String id)
{
this.id = id;
} // Can be compile-time contants
private final int valueOne = 9;
private static final int VALUE_TWO = 99;
//Typical public constant
public static final int VALUE_THREE = 39;
//Cannot be compile-time constants
private final int i4 = rand.nextInt(20);
static final int INT_5 = rand.nextInt(20); private Value v1 = new Value(11);
private final Value v2 = new Value(22);
private static final Value VAL_3 = new Value(33); //Arrays:
private final int[] a = {
1, 2, 3, 4, 5, 6
}; @Override
public String toString()
{
return id + ": " + "i4 = " + i4 + ", INT_5 = " + INT_5;
} /**
* @param args
*/
public static void main(final String[] args)
{
final FinalData fd1 = new FinalData("fd1");
//! fd1.valueOne++; // Error: can't change value
fd1.v2.i++; // Object isn't contant
fd1.v1 = new Value(9); //Ok -- not final
for (int i = 0; i < fd1.a.length; i++)
{
fd1.a[i]++; //Object isn't constant!
} //! fd1.v2 = new Value(0); //Error: Can't
//! fd1.VAL_3 = new Value(1); // change reference
//! fd1.a = new int[3];
System.out.println(fd1 + "\nCreating new FinalData");
final FinalData fd2 = new FinalData("fd2"); System.out.println(fd1);
System.out.println(fd2);
} }

-- Copy From Thinking in Java Fourth Edition

The Key to final data的更多相关文章

  1. $.data(elem, key, val) 和 elem.data(key, val)

    var div1 = $("div"),     div2 = $("div"); 1.     div1.data("key", &quo ...

  2. php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];)

    php面试题12(多态web服务器共享session的方法:将session存到数据库)($val=&$data[$key];) 一.总结 1.多态web服务器共享session的方法: ...

  3. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 创建复杂数据模型

    Creating a complex data model 创建复杂数据模型 8 of 9 people found this helpful The Contoso University sampl ...

  4. Data Binding(数据绑定)用户指南

    1)介绍 这篇文章介绍了如何使用Data Binding库来写声明的layouts文件,并且用最少的代码来绑定你的app逻辑和layouts文件. Data Binding库不仅灵活而且广泛兼容- 它 ...

  5. Android开发训练之第五章第六节——Transferring Data Using Sync Adapters

    Transferring Data Using Sync Adapters GET STARTED DEPENDENCIES AND PREREQUISITES Android 2.1 (API Le ...

  6. Jmeter 二次开发 将CSV Data Set Config添加从哪一行开始读数据

    经常遇到性能测试的时候,有100万条数据,才用了5万条,中途因为某些原因停止了,继续用的时候, 要么要清除DB中数据,要么要清除数据源中的数据, 觉得特别麻烦, 希望改写下代码,将 Ignore fi ...

  7. Data Binding MVVM 数据绑定 总结

    示例代码:https://github.com/baiqiantao/DataBindingTest 参考:精通Android Data Binding    Android Data Binding ...

  8. RSA加密/解密 Decryption error异常解决

    RSA加密/解密 Decryption error异常解决 import java.io.ByteArrayOutputStream; import java.security.Key; import ...

  9. Data Binding Guide——google官方文档翻译(上)

    android引入MVVM框架时间还不长,眼下还非常少有应用到app中的.但它是比較新的技术,使用它来搭建项目能省非常多代码,并且能使用代码架构比較清晰.本篇文章是我在学习MVVM时翻译的.篇幅比較长 ...

随机推荐

  1. struts2 action 接受数组参数为Null的问题

    public List<FormulaDetail> formulaDetails; public List<FormulaDetail> getFormulaDetails( ...

  2. javascript的笔记

    好久没写东西了,最近有些迷茫(好吧,是借口),也是好久没有接触js的内容了,今天就借此契机,顺便复习下吧. 就看看javascript中的函数四大调用模式和this的关系 1.方法调用模式 当一个函数 ...

  3. ExtJS初接触 —— 了解 Ext Core

    ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...

  4. hdu1198--并查集

    Problem Description Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is ...

  5. .Net程序员学用Oracle系列(2):准备测试环境

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...

  6. HQL练习

    Hive学习笔记总结 05. Hql练习 1. hql基础练习 题目和数据来源:http://www.w2b-c.com/article/150326(去掉-) create和load create ...

  7. IronPython .NET Integration官方文档翻译笔记

    http://ironpython.net/documentation/dotnet/这是原文地址 以下笔记仅记录阅读过程中我认为有必要记录的内容,大多数都是依赖翻译软件的机翻,配合个人对代码的理解写 ...

  8. js中的document.body.scrollTop与document.documentElement.scrollTop

    获取当前页面滚动条纵坐标的位置:document.body.scrollTop与document.documentElement.scrollTop获取当前页面滚动条横坐标的位置:document.b ...

  9. 第11章:DOM扩展

  10. JTable,TableModel,DefaultTableModel与AbstractTableModel的小结

    1 表格JTable并不存储自己的数据,而是从表格模型那里获取它的数据 2 TableModel本身是一个interface,在这个interface里面定义了若干的方法,包括了存取表格字段(cell ...