为什么使用带参数得构造函数就会出错呢?谢谢各位高手

chenhengxin 2004-04-28 10:18:54
我有两个文件:
Test.java
public class Test{
public void Test(){
}
public void Test(String temp){
System.out.println(temp);
}
}

GoGo.java
public class GoGo
{
public static void main()
{
Test i=new Test("Hello");
}
}
编译使Test.java不会出错,但GoGo.java会出错,错误提示为:
GoGo.java:5:cannot resolve symbol
symbol : constructor Test (java.lang.String)
location: class Test
Test i=new Test("Hello");
^
而我使用Test i=new Test();就不会出错。
各位高手,这是怎么回事呢?谢谢!
...全文
167 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jk01dingxian 2004-09-02
  • 打赏
  • 举报
回复
我发现的问题,都被楼上的说了。我还说什么呢。
建议楼主好好的把《JAVA编程思想》多看两遍。
xxben 2004-09-02
  • 打赏
  • 举报
回复
呵呵,学习
junxi 2004-04-30
  • 打赏
  • 举报
回复
public class Test{
public Test(){
}
public Test(String temp){
System.out.println(temp);
}
}

zhkchi 2004-04-30
  • 打赏
  • 举报
回复
学习~
qlampskyface 2004-04-30
  • 打赏
  • 举报
回复
原来高手都跑到这里解决问题来了。
iwhp 2004-04-30
  • 打赏
  • 举报
回复
public void Test(){
}

去掉void,就可以乐。
iamliux 2004-04-30
  • 打赏
  • 举报
回复
楼主这个类中没有定义构造函数,而是定义了两个与构造函数同名的函数;
因为并没有定义构造函数,所以编译器会自动添加一个缺省构造函数即:
public Test(){}
所以,Test i=new Test();是可以的.
haoqingshi 2004-04-28
  • 打赏
  • 举报
回复
楼上的兄弟解释的很清楚了,建议楼主还是仔细了解一下java的语法
构造函数是没有返回值的
新来的萌新 2004-04-28
  • 打赏
  • 举报
回复
你的程序有两个错误:
1. 构造函数没有返回值, public 类名(...)
2. 主类的main函数定义有错误。
class Test{
public Test(){
}
public Test(String temp){
System.out.println(temp);
}
}
public class GoGo
{
public static void main(String[] args)
{
Test i=new Test("Hello");
}
}
panpan221 2004-04-28
  • 打赏
  • 举报
回复
新手学习
阎罗 2004-04-28
  • 打赏
  • 举报
回复
up
caiyanying732 2004-04-28
  • 打赏
  • 举报
回复
来看看啊。原来是楼主是在构造函数中加了返回类型啊!
jiabiao011 2004-04-28
  • 打赏
  • 举报
回复
建议再好好看看基础!
bluesmile979 2004-04-28
  • 打赏
  • 举报
回复
public class Test{
public Test(){
}
public Test(String temp){
System.out.println(temp);
}
}

danceflash 2004-04-28
  • 打赏
  • 举报
回复
构造函数无返回值
Arias 2004-04-28
  • 打赏
  • 举报
回复
public [void] Test(){
}
public [void] Test(String temp){
System.out.println(temp);
}

这两个构造函数中都不应该有返回类型,即使是void型也不可以,应该去掉!
Arias 2004-04-28
  • 打赏
  • 举报
回复
Test i=new Test("Hello");

public class Test{
public void Test(){
}
public void Test(String temp){
System.out.println(temp);
}
}

在你的原类文件中本来就没有一个代string参数的构造方法,你如何能调用呢!
你需要的话,可以在类定义的时候直接定义一个代参数的构造方法就是了。
Philzzf 2004-04-28
  • 打赏
  • 举报
回复
楼上的yes
构造函数不应该有返回值
Joyyu 2004-04-28
  • 打赏
  • 举报
回复
public void Test(){
}
public void Test(String temp){
System.out.println(temp);
}
写法错误
应为:
public Test(){
}
public Test(String temp){
System.out.println(temp);
}
chenhengxin 2004-04-28
  • 打赏
  • 举报
回复
up

62,623

社区成员

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

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