Java 在类名后添加冒号是否会导致错误?

Java 在类名后添加冒号是否会导致错误?,java,syntax,compiler-errors,Java,Syntax,Compiler Errors,我在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

我在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;
    }
}
现在,我已经找到了所有四个错误,接口中的“protected”,接口中的方法体,缺少的关键字“Implements”,以及g()无法访问的变量x。 我的问题是关于这一部分

Vehicle : java.lang.Object
当我在修复了这四个错误后试图运行这段代码时,它在这行中显示了另一个错误,即“{”expected after Vehicle


这真的是一个错误,还是这是java中扩展类的另一种方式?

在java中,您使用
extends
关键字对其他类进行子类化,而
为接口实现了
。冒号在C#和其他一些语言中使用。

您错过了一个错误-在java中,只有一个继承,因此re class Main不能同时扩展车辆和移动设备。
类车辆中的分号也不是有效的java语法。

它确实是一个错误的编译器。它比你知道的语言好很多。该语法是C++、C语言、Kotlin,而不是java。(没有<代码>;
在调用<代码>系统.out .PrtLn
,但是在该函数体上的“关闭<代码> } /代码>之后。如果考试认为代码中只有四个错误,您可能想考虑它后面的人是否真的是学习的对象。)(但如果他们说至少有四个错误,那就不一样了。)您实现了一个接口,而不是扩展它。此外,一个类不能扩展两个类。如果用
默认值
替换
受保护的
,两个错误将变成一个错误,因为现在允许实现。冒号
肯定是个错误。