初学者的多继承问题

sisiforyou 2009-11-19 11:56:30
为什么在Eclipse下面不能通过编译呢?
是尝试了下在类C里面重写a() b()就能运行,但是还是有
有提示 type a/b already defined
有人说是需要写上public 我试了下 还是不行
谢谢啦
class A{
void a();
}
class B extends A{
void b(){
System.out.print("in b");

}

}
class C extends B{
void a(){
System.out.print("in c");
}

}
public class TestInh {
public static void main(String args[])
{
C c=new C();
c.a();
c.b();

}
}
...全文
66 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sisiforyou 2009-11-19
  • 打赏
  • 举报
回复
class A{
void a(){};

一楼的抱歉啦...代码贴错了..那个是修改的时候写的
我是写的
class A{
void a(){};
gao11811 2009-11-19
  • 打赏
  • 举报
回复
悲剧的楼主啊
class A{
void a();
}
这个不是接口,a()怎么可以没有方法体呢?
至少空实现
class A{
void a(){};
}
sisiforyou 2009-11-19
  • 打赏
  • 举报
回复
CMD下面运行正常

E:\java\PaperTest\src>javac TestInh.java

E:\java\PaperTest\src>java TestInh
in cin b
sisiforyou 2009-11-19
  • 打赏
  • 举报
回复
in c Exception in thread "main" java.lang.NoSuchMethodError: C.b()V
at TestInh.main(TestInh.java:23)

错误提示是什么意思呢?
ican_areyou 2009-11-19
  • 打赏
  • 举报
回复
问题解决就好了.
sisiforyou 2009-11-19
  • 打赏
  • 举报
回复
哦 ...........原来同一个project下面不能同名啊?!
我把classname改了 就正常了
sisiforyou 2009-11-19
  • 打赏
  • 举报
回复
代码我是直接贴上来的啊...昏倒...
写了个abstract也不能运行 cmd又可以..难倒Eclipse罢工了


abstract class A{
abstract void a();
void a1(){
System.out.println("In a ");
}
}
class B extends A{
void a(){
System.out.println("In b");
}

}
public class TestAb {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B demo =new B();
demo.a();
}

}
Exception in thread "main" java.lang.NoSuchMethodError: B.a()V
at TestAb.main(TestAb.java:21)
yuexiashi 2009-11-19
  • 打赏
  • 举报
回复
我调试过有用啊
gao11811 2009-11-19
  • 打赏
  • 举报
回复
那就没有什么问题啊
C.b()V
难道是你多写了个V?
闯一闯 2009-11-19
  • 打赏
  • 举报
回复
看过

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧