好怪的一个小鸟级问题

supyesky 2004-09-13 04:48:11
class Chen {
void pr() {
System.out.println("null");
}
void pr(int i) {
System.out.println("int"+i);
}
void pr(String s) {
System.out.println("String"+s);
}
}
public class Wang extends Chen {
void pr(float f) {
System.out.println("float"+f);
}
public static void main(String[] args) {
int i=100;
String s="java";
float f=3.14f;
Wang w=new Wang();
w.pr();
w.pr(i);
w.pr(s);
w.pr(f);
}
}
为什么遍译器总是提示出错呢?
...全文
126 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
supyesky 2004-09-13
  • 打赏
  • 举报
回复
在dos下用javac 编译出这个错,难道遍译工具不同报的错也不同吗?还有 Fzyan(Fzyan)大哥能顺利输出,怪拉
Wang.java:22: reference to pr is ambiguous, both method pr(int) in Chen and meth
od pr(float) in Wang match
w.pr(i);
^
Fzyan 2004-09-13
  • 打赏
  • 举报
回复
我在Eclipse中调试没有问题。
输出如下:
null
int100
Stringjava
float3.14

你尝试一下在class Chen的几个method前面加上public,
再试试。
你编译的时候提示什么出错信息阿??
fireflyqt 2004-09-13
  • 打赏
  • 举报
回复
函数调用时,会优先选择该类型中的成员函数,没有匹配时才去基类中查找,一直找到Object类中
w.pr(i);会在自类中发现void pr(float f),自然要求类型转换
解决方法自己考虑一下
qld001 2004-09-13
  • 打赏
  • 举报
回复
环境变量是不是没设置好啊,我也不是什么老鸟,一点儿建议啦
csdndephi1 2004-09-13
  • 打赏
  • 举报
回复
同意Januarius_的观点,

public class Wang extends Chen {..........}

当我把public去掉的时候,问题都解决了,
如果不想去掉public,你就把文件名存为Wang.java
因为在我这里看到的提示是这样的:
C:\j2sdk1.4.2_04\shicao\aaaa.java:13: class Wang is public, should be declared in a file named Wang.java
public class Wang extends Chen {
^
1 error

Process completed.
好的,看看,第一句英语:
class Wang is public, should be declared in a file named Wang.java
我想就一幕了然了吧
xch28 2004-09-13
  • 打赏
  • 举报
回复
这样写w.pr((float)i);
或者去掉void pr(float f) /pr(int i)中的一个。

这样写方法的参数是在太暧昧了。
kingfish 2004-09-13
  • 打赏
  • 举报
回复
有两种办法
1
((Chen)w).pr(i);

2
void pr(float f) 函数放在Chen中
易点互联 2004-09-13
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.NoClassDefFoundError: Wang
这是怎么回事???
supyesky 2004-09-13
  • 打赏
  • 举报
回复
错在w.pr(i),要怎么才能用int 类型?
orant 2004-09-13
  • 打赏
  • 举报
回复
JDK可以编译啊,生成Wang.class和Chen.class
你是不是没有配置JDK的PATH、CLASSPATH
kingfish 2004-09-13
  • 打赏
  • 举报
回复
int会自动转换成float

w.pr(i); //prr(int) or pr(float) ?
Januarius_ 2004-09-13
  • 打赏
  • 举报
回复
不出错呀,我的好好的,你的文件名是不是Wang.java

62,623

社区成员

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

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