Java - 扩展一个 class,扩展一个线程 class

Java - Extend a class that extend a Thread class

我正在准备多线程的考试,为了提高自己的能力,我开始了自己的练习Java,但是我有一个问题:

我可以用我制作的另一个 class 来扩展 class 吗?

我知道我只能在 Java 中扩展 1 class(而且我可以实现 Runnable,尽管我现在对此不太满意),但是我可以像以前说的那样级联吗?还是我被迫使用 implements? 我会举出我的例子让你明白我会做什么:

Character class -> extends Thread
Warrior class -> extends Character
Wizard class -> extends Character

如果可以,我可以在哪里使用 super() 功能?

只要您的 Character class 未声明 [​​=11=],这样做就没有问题。 Character 的每个子 class 都(间接)继承了 Thread(以及 Object)的所有(非 private)行为和结构,以及Character 的行为和结构。它们都可以用作Thread对象。

调用 super() 调用默认(无参数)superclass 构造函数。它只能用作 sub-class 构造函数中的第一行。您可以在 subclass 代码中的任何位置使用 super.blah() 语法来调用 superclass 的 blah() 函数。

如你所说,一个 class 只能继承(扩展)另一个 class 但是扩展 classes 的层次结构确实存在。

例如,您可以

public class Animal{
}

public class Mammal extends Animal{
}

public class Monkey extends Mammal{
}

super() 在每个 class

的构造函数中使用