除非誰閑了,把域聲明為public,由外部去改變??墒沁@樣和繼承就沒有關系了,在類中,final的用處就沒有體現出來。
package mypackage;//final類,禁止extendspublic final class FinalClass{ public Integer m_iInteger; public FinalClass(Integer integer) { m_iInteger = integer; } Integer getInteger() { return m_iInteger; } void setInteger(Integer integer) { m_iInteger = integer; }}//書上說:如果將一個類聲明為final,只有其中的方法自動地成為final,而不包括域。//思考:既然類都已經成為了final,說明它已經不可以繼承,那么方法是不是final有什么意義呢,反正也不可能重寫覆蓋//至于留著域又不是final,怎么使用呢?這樣的意思就是域是可以被改變了?//可反正也不會被繼承,不能在子類中去修改它,留著它不是final有什么意義?//除非誰閑了,把域聲明為public,由外部去改變。可是這樣和繼承就沒有關系了,在類中,final的用處就沒有體現出來//在一個源文件中,只能有一個public類,否則編譯器警告:類只能定義在它自己的文件中//一旦父類聲明了final后,編譯器會提示:子類不能繼承自父類FinalClass///*public */class FinalExtends extends FinalClass//{// public FinalExtends(Integer integer)// {// super(integer);// }//}
新聞熱點
疑難解答