好怪的一个小鸟级问题

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);
}
}
为什么遍译器总是提示出错呢?
...全文
129 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
内容概要:本文档介绍了一个基于MATLAB/Simulink平台的综合性科研资源共享项目,核心内容为四旋翼无人机俯仰姿态保持的模糊自整定PID控制系统设计与仿真,提供完整的Matlab代码和Simulink仿真实现资源。项目进一步拓展至无人机轨迹跟踪、多控制策略对比(如线性MPC、非线性NMPC、强化学习RL及混合MPC-RL)、储能优化、电力系统调度、路径规划、神经网络预测等多个前沿科研方向。文档强调科研不仅需要严谨思维与勤奋,更要善于“借力”,通过成熟案例启发创新思路,帮助研究者避免误区,利用高质量资源激发科研灵感,加速高水平成果的复现与产出。; 适合人群:具备一定MATLAB编程基础,从事自动化、控制工程、电力系统、机器人或人工智能等相关领域的科研人员、研究生及工程师,尤其适合希望快速复现高水平论文成果的研究者。; 使用场景及目标:① 实现模糊PID控制在无人机姿态控制中的应用与仿真;② 对比分析不同先进控制策略(如MPC、RL)在轨迹跟踪中的性能表现;③ 借助提供的代码与模型,完成科研项目中的仿真验证、论文复现或算法优化任务。; 阅读建议:建议读者按照资源目录顺序逐步学习,优先掌握核心控制方法(如模糊PID、MPC)的实现逻辑,结合代码与仿真模型进行调试与改进,从而深化对控制理论的理解并推动自身科研工作的创新。
内容概要:本文档围绕“2023年IEEE ICMA顶刊复现多欠驱动水面无人艇误差约束协同路径跟踪控制(Matlab代码实现)”展开,详细介绍了一项针对多欠驱动水面无人艇的协同路径跟踪控制技术的研究与实现。该研究通过引入误差约束机制,旨在提升无人艇在复杂海洋环境下的路径跟踪精度与系统稳定性。文档不仅提供了完整的Matlab代码实现,还涵盖了控制算法的设计原理、数学建模过程以及仿真实验结果分析。此外,文档还列举了多个相关科研方向,如智能优化算法、机器学习、路径规划、无人机控制、电力系统优化等,展示了其在多学科交叉领域的广泛应用前景,并倡导科研工作者善用工具资源,提升研究效率。; 适合人群:具备一定编程基础,尤其是熟练掌握Matlab/Simulink环境的科研人员、工程师,以及对无人艇控制、路径跟踪、协同控制、非线性系统控制等领域感兴趣的研究生和高校学者。; 使用场景及目标:① 开展多欠驱动水面无人艇的协同路径跟踪控制研究;② 设计与实现具有误差约束的先进控制算法;③ 利用Matlab进行控制系统建模、仿真与性能验证;④ 探索将智能优化算法与现代控制理论相结合,解决复杂工程系统中的实际控制问题。; 阅读建议:建议读者按照文档的逻辑顺序系统学习,重点理解控制算法的设计思路与数学推导过程,并结合所提供的Matlab代码进行动手实践与仿真调试,以深化对理论知识的掌握。同时,鼓励读者积极查阅相关领域的最新文献,紧跟学术前沿,不断拓展研究视野,激发创新灵感。

62,622

社区成员

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

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