黑马程序员技术交流社区
标题:
一个小问题
[打印本页]
作者:
李宁
时间:
2013-1-20 23:20
标题:
一个小问题
本帖最后由 shaohuashang 于 2013-1-21 10:45 编辑
public class Test extends Test2{
public static void main(String[] args) {
Test t =new Test();
t.sop();
}
public void sop(){
System.out.println("override");
}
}
public abstract class Test2 {
Test2(){
System.out.println("abc");
}
abstract void sop(){};
}
复制代码
大家帮忙看看,为什么运行时会报错?
不好意思,发之前也没修改好
作者:
柴乔军
时间:
2013-1-20 23:24
楼主,你把错误贴出来嘛,你这Test继承的是Test2类???可这个类在哪??
下面的是Test3呀。。。
作者:
贾文泽
时间:
2013-1-20 23:24
别的代码呢? Test2呢?
作者:
txl
时间:
2013-1-20 23:27
本帖最后由 黑马唐贤来 于 2013-1-20 23:29 编辑
我想你把test2是不是test3?是不是打错了,已经可以运行了
public class Test extends Test3{
public static void main(String[] args) {
Test t =new Test();
t.sop();
}
public void sop(){
System.out.println("override");
}
}
abstract class Test3 {
Test3(){
System.out.println("abc");
}
abstract void sop(); //我只是删除了这里的大括号就正常了......
}
复制代码
作者:
贾文泽
时间:
2013-1-20 23:28
还有,你的抽象方法怎么是 abstract void sop(){}; ???
抽象方法是没有方法体的 abstract void sop(); 使用必须由子类复写抽象方法后建立子类对象调用
作者:
yong230
时间:
2013-1-21 09:22
abstract void sop();//这样写才对,抽象方法没有方法体
作者:
黑马-周科
时间:
2013-1-21 10:30
abstract void sop(){}; 没有方法体。
正确写法
abstract void sop();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2