黑马程序员技术交流社区
标题:
关于void返回类型
[打印本页]
作者:
王梁星
时间:
2012-10-17 19:01
标题:
关于void返回类型
//TestDuotaiEqual.java
class Base{
private int num;
public Base(int num){//?本句加上void后报错:
//22/21:错误: 无法将类 Base中的构造器 Base应用到给定类型?
this.num=num;
}
/**
* 复写父类已有的方法:
*/
public boolean equals(Object obj){//=>Object obj=new Base();
if(!(obj instanceof Base))
return false; //此处按说应抛出类型不同的错误
Base bs=(Base)obj; //把父类作向下强制转换
return this.num==bs.num;
}
}
public class TestDuotaiEqual{
public static void main(String[] args){
Base b=new Base(6);
Base b1=new Base(9);
System.out.println(b.equals(b1));
}
}
复制代码
见这句:
public Base(int num){//?本句加上void后报错:
//22/21:错误: 无法将类 Base中的构造器 Base应用到给定类型?
为什么这样?
作者:
王中利
时间:
2012-10-17 19:07
没有具体返回值类型的方法就用void是指空返回值类型,只要有具体的返回值类型就不能再用void了
作者:
AngieFans85
时间:
2012-10-17 19:17
"无法将类 Base中的构造器 Base应用到给定类型?"
构造方法有固定的格式:
1 构造方法名必须与类名完全一致.
2 构造方法不可以有任何返回值,连void都不可以.
"if(!(obj instanceof Base))
return false; //此处按说应抛出类型不同的错误"
此处不可能抛出异常,这两句代码,虚拟机没有抛出异常的可能性,而且你也没有手动抛出异常,所以你对异常的理解有点问题.
作者:
曾浩
时间:
2012-10-17 19:19
构造器是不含任何返回值
void也是一种返回值类型 只是他什么也不返回
下面是相关的帖子你可以好好看看
http://bbs.itheima.com/thread-16870-1-1.html
http://topic.csdn.net/t/20050509/23/3993583.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2