Java空白final
Java 1.1允许我们创建“空白final”,它们属于一些特殊的字段。尽管被申明为final,但却未得到一个初始值。
无论在哪种情况下,空白final都必须在实际使用前得到正确的初始化(Blank finals MUST be initialized in the constructor:)。而且,编译器会主动保证这一规定得以贯彻。
然而,对于final 关键字的各种应用,空白final 具有最大的灵活性。
举个例子来说,位于类内部的一个final 字段现在对每个对象都可以有所不同,同时依然保持其“不变”的本质。下面列出一个例子:
/**
* Created by xfyou on 2016/11/2.
* 空白final演示
*/
public class BlankFinal {
private final int i = ;
private final int j;
private final Poppet p; public BlankFinal() {
j = ;
p = new Poppet();
} public BlankFinal(int j) {
this.j = j;
p = new Poppet();
} public static void main(String[] args) {
BlankFinal bf = new BlankFinal();
}
} class Poppet {
}
Java空白final的更多相关文章
- Java关键字final、static
一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final ...
- 【转】Java关键字final、static使用总结
转自:http://lavasoft.blog.51cto.com/62575/18771/ Java关键字final.static使用总结 一.final 根据程序上下文环境, ...
- Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- Java的final关键字详解
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- 转!Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...
- Java关键字final、static使用总结(转)
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- (转)Java关键字final、static使用总结
一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. fin ...
- [Java] 关键字final、static使用总结
一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.final ...
- Java:final、static关键字 详解+两者结合使用
一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...
随机推荐
- 练习3:修改withdraw 方法 练习目标-使用有返回值的方法:在本练习里,将修改withdraw方法以返回一个布尔值来指示交易是否成功。
boolean withdraw(double get){ if(get<=balance) { System.out.println("取钱"+get+"元,当余 ...
- seajs模块化开发
seajs是一个起辅助作用的库,所以它可以更方便开发,而它可以解决以下问题: 1.命名问题,就是冲突 2.性能问题,就是只要一个功能,但却使用一个大插件中的一个小功能,所以要手动拆分出这个功能 3.j ...
- haslayout详解
定义 haslayout是IE7-浏览器的特有属性.hasLayout是一种只读属性,有两种状态:true或false.当其为true时,代表该元素有自己的布局,否则代表该元素的布局继承于父元素. [ ...
- java 显示透明背景png图片
首先理由ps生成一个背景透明的png图片,然后设置JPanel面板的透明属性,也就是panel.setOpaque(false);设置为透明 class MyPanel extends JLayere ...
- Net任意String格式转换为DateTime类型
方式一:Convert.ToDateTime(string) Convert.ToDateTime(string) 注意:string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方式二: ...
- eclipse使用tomcat进行部署时编译代码不一致的处理
操作步骤: 1. 先add and remove 去除项目 2. clean 完成清除工程在tomcat的目录 3. project-->clean 4. add adn remove 重新添加 ...
- prototype.js 和 jQuery.js中 ajax 的使用
这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...
- (翻译)编写属于你的jQuery插件
Writing Your Own jQuery Plugins 原文地址:http://blog.teamtreehouse.com/writing-your-own-jquery-plugins j ...
- [C/C++]函数指针和函数分发表
// console.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using nam ...
- 【原创】kafka producer源代码分析
Kafka 0.8.2引入了一个用Java写的producer.下一个版本还会引入一个对等的Java版本的consumer.新的API旨在取代老的使用Scala编写的客户端API,但为了兼容性 ...