Eclipse 重写acm.program init()方法;Java一定要这么难吗?
Java问题 我是Java的学生。到目前为止,我成功地编写了大约15个Java程序,并让它们在PC上运行。但我还没有编写像我最近的赋值那样的init()方法来初始化一些实例变量。编译器告诉我,我的init()方法正在尝试重写acm.program中的最终init()方法。这不是init()方法应该做的吗?在上个星期用尽了PC上的所有方法之后,我想这可能是PC上的Eclipse问题。Java文档中的所有示例代码都显示了一些Mac windows。所以我想我会尝试将我的代码转移到运行Lion OS 10.7.2的Mac上 切换到MAC环境Eclipse 重写acm.program init()方法;Java一定要这么难吗?,eclipse,init,Eclipse,Init,Java问题 我是Java的学生。到目前为止,我成功地编写了大约15个Java程序,并让它们在PC上运行。但我还没有编写像我最近的赋值那样的init()方法来初始化一些实例变量。编译器告诉我,我的init()方法正在尝试重写acm.program中的最终init()方法。这不是init()方法应该做的吗?在上个星期用尽了PC上的所有方法之后,我想这可能是PC上的Eclipse问题。Java文档中的所有示例代码都显示了一些Mac windows。所以我想我会尝试将我的代码转移到运行Lion OS
- 覆盖acm.program.program.init
- 无法从中重写最终方法 节目
final
方法,那么您确实试图做错事;final
实际上意味着“您不允许覆盖此方法”。也许您没有完全理解作业说明没有理由认为Mac的Java比PC的Java更好。语言和工具应该是一样的……假设您使用的是相同版本的语言和类似版本的工具 你的
init
问题与PC机和Mac机无关。因此,不要浪费时间切换平台来解决它。你需要弄清楚
从表面上看,编译器/IDE告诉了您真相。Java不会让您重写final
方法。事实上,将方法声明为final
的关键是防止重载
然而,这是没有意义的。根据我找到的文档,acm.program.program.init()
方法被设计为被重写。那么为什么它不允许您呢
我怀疑你出现问题的原因是你下载了一个JAR文件,或者有人给了你一个JAR文件的副本,而这个JAR文件被人弄乱了。有人把这个方法改成了final(出于某种原因,最好自己知道),编译后放在上面让人们下载。谷歌并不总是你的朋友
因此,我建议您查看所有的讲义和提供的文件,以找到提供的JAR副本或下载指南。然后用推荐的JAR副本替换您当前使用的JAR副本
为什么我还没有做到这一点,作为Eclipse的一部分,我不知道。我想一切都很困难
Eclipse怎么知道这个“acm”东西是什么?你需要哪个版本?从哪里下载?谢谢。在Mac上。我从PC开始只是为了不使用Mac,因为我妻子经常使用Mac。但现在我正在使用Mac来尝试