java问题,请求高手指点

class qwe
{
qwe(int i)
{
System.out.println("asd");
}
}

public class WorkTest extends qwe
{
public static void main(String[] args)
{
WorkTest q=new WorkTest();
}
void WorkTest()
{
System.out.println("qaz");
}
}

我知道是错的,但是我不知道原因是什么,请各位高手帮忙解答下。感激不尽!!

我怀疑楼主的问题不是构造函数的事!问题估计没有解决!
因为这里加了VOID以后会默认判定这个是普通的方法,普通的方法名称也是可以跟类名一样滴,所以并不会报错!
这里报错的原因是你继承了class qwe,你的WorkTest 类必定要有一个构造函数去显式SUPER一个qwe的构造函数(随便有参还是无参),当然如果要SUPER无参的构造,那首先要在qwe明显写出无参构造!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-07
void WorkTest()
{
System.out.println("qaz");
}
构造函数不能有返回类型,改为
public WorkTest()
{
System.out.println("qaz");
}
第2个回答  2010-07-07
很明显啊,构造方法不能有返回类型,void虽然没有返回值,但也是一种返回类型(可以理解为返回空值)。比如下面的test方法虽然是void但也可以写return
只是返回的是个空值。
void test(){
return ;}
把void去掉就行了
WorkTest()
{
System.out.println("qaz");
}
第3个回答  2010-07-07
class qwe
{
public qwe(int i)
{
System.out.println("asd");
}
}

public class WorkTest extends qwe
{
public static void main(String[] args)
{
WorkTest q=new WorkTest();
}
public WorkTest()
{
System.out.println("qaz");
}
}