Re: [問題] xxx = null
※ 引述《NullLife (929rock化)》之銘言:
: 但說一個最近我才發現的事情,
: 那就是如果是全域變數,並且有final修飾詞的時候,
: 可以在建構子裡頭給定第一次的reference,例如:
: class A {
: final String kerker;
: public A(String kerker) {
: this.kerker = kerker;
: }
: }
: 所以如果你一開始就寫 final String kerker = null;
: 你後續就不可能讓kerker去參照其他的refence了
: 因為有一次我在寫物件的時候,就覺得很奇怪,
: 為什麼我final的變數一定要宣告的時候馬上給值,
: 不能new整個物件的時候再來決定嗎?
如果物件資料成員被宣告為final,但沒有明確使用=指定值,那表示延遲物件成員值的指
定,在建構式執行流程中,一定要有對該資料成員指定值的動作,否則編譯錯誤。
也就是說,final String kerker; 時,kerker 並沒有指定值,也不是 null。
如果你 final String kerker = null,就永遠是 null 了…XD
--
良葛格學習筆記
http://openhome.cc
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.118.88
※ 文章網址: http://www.ptt.cc/bbs/java/M.1405897369.A.4E4.html
推
07/21 14:12, , 1F
07/21 14:12, 1F
推
07/22 01:27, , 2F
07/22 01:27, 2F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章