作者tgbsa (每天进步一点点)
看板java
标题Re: [问题] 有关static 的问题??
时间Mon Jul 23 06:55:02 2007
※ 引述《mixfuture (恩)》之铭言:
: 新手一直发问....麻烦各位前辈解答..感激不尽
: class A
: {
: static int i=10;
: }
: final class B extends A
: {
: int i =5;
: public static void main(String [] args)
: {
: System.out.println(i);
: }
: }
: 1.编译时发生错误,因为子类别不能宣告成final
错,可以宣告成final
: 2.编译时发生错误,静态方法不能取用物件属性
static method不能存取与物件相关的data member,或member function
原因就在static method并没有this这个参考
: 3.执行时列出"10"
static data field不用产生instance就能存取, A.i
: 4.执行时列出"5"
与物件相关的data field必须要有instance才能存取
: 我编译的时出现错误 上面出现 说 varible i cannot be refrecnce from static context
: 是指选项2的答案吗?
要产生instance才能存取
EX:
B b = new B();
System.out.print(b.i);
: 我想在请问
: 1.子类别是否可以写成final 如果可以表示说"继承完後 不能在被其他人继承"
这是对的
: 2.如果我今天想要印出i值,我是不是必须在class A中
: 写一个 static {int i =10 } 这样呢?
????????????????????不是很懂你的意思
我想上面应该有解了你这个问题了!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.48.82
※ 编辑: tgbsa 来自: 218.170.48.82 (07/23 07:04)