作者nf7series (真呆)
看板java
標題[問題] 存取修飾子
時間Sun Dec 2 21:31:06 2007
請問一下一題scjp的考題
Insert six modifiers into the code such that it meets all of these
requirements:
1.It must be possible to create instances of Alpha and Beta from outside the
packages in which they are defined.
2.When an object of type Alpha (or any potential subclass of Alpha) has been
created, the instance variable alpha may never be changed.
3.The value of the instrance variable alpha must always be "A" for objects of
type Alpha.
package alpha;
________ class Alpha
{
________ String alpha;
________ Alpha() {this("A");}
________ Alpha(String a) {alpha=a;}
}
package beta;
________ class Beta extends alpha.Alpha
{
________ Beta(String a) {super(a);}
}
________可填的選項有private,protected,public
我自己的答案是
第一個提示是要說Alpha和Beta都要能在package外使用,所以這兩個
class都要public。
第二個提示是說Alpha中的alpha建立後就不能更動,第三個提示是說alpha
一定要是A,所以alpha應該要使用final修飾子,其他都用public
所以我的答案是:public,final,public,public,public,public
請問這樣對嗎?謝謝..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.98.93
推 LPH66:alpha用final你就不能這樣initialize了吧 @@ 12/03 09:54
推 H45:可以吧。 12/03 11:13
推 sioo:final可以先宣告變數,之後在constructor給值 12/03 14:01
推 TuTu522:我覺得因為條件3.第四個應該是用protected. 12/04 01:07
推 H45:等等,可填選項只有 private,protected,public 嗎?沒 final? 12/04 16:02
推 nf7series:對耶,沒final,只有private protected public 12/05 21:54