黑马程序员技术交流社区
标题:
定义了一个接口,子类复写器抽象方法,调用该方法出错!
[打印本页]
作者:
HM王琦
时间:
2013-4-2 07:50
标题:
定义了一个接口,子类复写器抽象方法,调用该方法出错!
本帖最后由 HM王琦 于 2013-4-2 12:30 编辑
interface Inter
{
public static final int NUM=3;
public abstract void show();//在接口中定义抽象方法
}
class InterDemo implements Inter
{
public void show()
{
System.out.println("复写父类show方法");
}
}
class InterfaceDemo
{
public static void main(String[] args)
{
InterDemo in=new InterDemo();
System.out.println(in.show()+".."+Inter.NUM);//编译提示:java:43: 错误: 此处不允许使用 '空' 类型
System.out.println(in.show()+".."+Inter.NUM);
}
}
复制代码
作者:
谢达
时间:
2013-4-2 08:26
System.out.println(in.show()+".."+Inter.NUM);//编译提示:java:43: 错误: 此处不允许使用 '空' 类型
你show方法的定义是public abstract void show();//返回的是void类型 "+"操作符不能执行void +String类型,你把in.show()放到外面就可以了
作者:
赵喜平
时间:
2013-4-2 08:41
方法show()是个void方法,无返回值,不能做+运算。要把show方法直接放在System外面
作者:
vmvm555
时间:
2013-4-2 09:46
in.show返回的是void怎么可能连接的上字符串数据呢
作者:
HM王琦
时间:
2013-4-2 12:30
原来如此,明白了,明白了
作者:
李慧声
时间:
2013-4-2 12:34
show()没有返回值,还放在S.O.P中,就相当于S.O.P中嵌套了一个S.O.P,你试试这样呢可以吗,对吧,显然是不行的吧,而且错误和你的提示都是一样的,System.out.println()是要有传递的东西是要有返回值的,你给了一个void肯定挂了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2