Re: [问题] xxx = null

楼主: JustinHere (良葛格)   2014-07-21 07:02:46
※ 引述《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
作者: dharma (達)   2014-07-21 14:12:00
作者: NullLife (废材大叔有点累)   2014-07-22 01:27:00
延迟物件的指定...(笔记)

Links booklink

Contact Us: admin [ a t ] ucptt.com