作者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
1F:推 LPH66:alpha用final你就不能这样initialize了吧 @@ 12/03 09:54
2F:推 H45:可以吧。 12/03 11:13
3F:推 sioo:final可以先宣告变数,之後在constructor给值 12/03 14:01
4F:推 TuTu522:我觉得因为条件3.第四个应该是用protected. 12/04 01:07
5F:推 H45:等等,可填选项只有 private,protected,public 吗?没 final? 12/04 16:02
6F:推 nf7series:对耶,没final,只有private protected public 12/05 21:54