【发布时间】:2018-07-09 09:29:36
【问题描述】:
我在 Java 考试中遇到了一个问题,要求我们在提供的代码中找到 四个 编译错误,如下所示:
interface Movable{
protected void g(){System.out.println("Hello")};
}
class Vehicle : java.lang.Object{
private int x;
}
public class Main extends Vehicle, Movable{
public static void main(String[] args) {
System.out.println("this is main");
}
public void g() {
this.x= 2;
}
}
现在,我已经设法找到所有四个错误,接口中的“受保护”、接口中的方法主体、缺少的关键字“Implements”以及无法访问的变量 x G()。 我的问题是关于这部分的
Vehicle : java.lang.Object
当我在修复四个错误后尝试运行此代码时,它在此行中显示另一个错误,显示“{”预计在 Vehicle 之后。
这真的是一个错误还是这是在 java 中扩展类的另一种方式?
【问题讨论】:
-
真是个错误
-
相信编译器。它比你更懂语言。该语法是 C++、C#、Kotlin,但不是 Java。
-
除上述错误外,至少还有两个错误(在调用
System.out.println之后没有;,但在结束}之后有一个函数体)。如果考试认为该代码中只有四个错误,您可能需要考虑其背后的人是否真的是值得学习的人。 :-)(但如果他们说至少四个错误,那就不同了。) -
您实现一个接口,而不是扩展它。此外,一个类不能扩展两个类。
-
如果将
protected替换为default,则两个错误将成为一个错误,因为现在允许实现。冒号:绝对是个错误。
标签: java syntax compiler-errors