作者nf7series (真呆)
看板java
标题[问题] 转型的问题
时间Sun Dec 2 22:17:54 2007
import java.util.*;
public abstract class A
{
abstract void a1();
void a2(){}
public static void main(String[] args)
{
A x=new B();C y=new C();A z=new C();
z.c1();
}
}
class B extends A
{
void a1(){}
void a2(){}
}
class C extends B{void c1(){}}
上面这段程式码中,z.c1()会导致compile错误,可是z为什麽不能呼叫c1呢?
搞不太懂,c1不就是class C自己的method吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.98.93
※ 编辑: nf7series 来自: 203.73.98.93 (12/02 23:31)
1F:推 ya790206:因为变数z的资料型态是A,所以才不认得c1 12/03 09:46
2F:推 PRAM:static方法内不可以呼叫非static方法 12/03 12:47
3F:推 adrianshum:楼上你去打好一点根基吧。 12/04 00:08
4F:推 H45:单从二楼的发言本身来看好像没错呀,只是没有说的很精确 XD 12/04 16:06
5F:→ H45:更精确的说是二楼的叙述与本题无关.... 12/04 16:09