zoukankan      html  css  js  c++  java
  • 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 = 0;
        private final int j;
        private final Poppet p;
    
        public BlankFinal() {
            j = 1;
            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第九天
    再回首Java第八天
    再回首Java一周记
    再回首Java第六天
    再回首Java第五天
    再回首Java第四天
    再回首Java第三天
    再回首Java第二天
    再回首Java第一天
    关于i++和++i理解
  • 原文地址:https://www.cnblogs.com/frankyou/p/6022847.html
Copyright © 2011-2022 走看看