我有一项任务是预测程序的输出而不打印它。
在这个程序中,人没有覆盖toString()方法和输出变体
Exception in thread "main"
java.lang.MethodNotFoundException
,第二个是
cannot resolve symbol
symbol: method toString ()
这两个有什么区别?
答案 0 :(得分:0)
前者是运行时异常,第二种是编译错误,不允许代码首先运行。如果运行toString方法而不覆盖它,则不会出现这些问题,除非您定义一个显式类层次结构,其中有一个类抛出前一个异常,然后让其中一个子类无法覆盖它。
答案 1 :(得分:0)
首先出现在运行时,动态地测试方法存在并且它不存在。
第二个是编译时,因为一个方法不存在。
答案 2 :(得分:0)
第二个例外是Checked Exception,可以在您的应用程序中捕获和处理,如果您没有捕获第二类异常,编译器将在编译期间抛出错误。
而第一个例外是未经检查的例外。编译期间编译器无法检测到它,您无法捕获它。更好地称之为恶魔例外:)