Java - 扩展一个扩展Thread类的类

时间:2016-09-08 13:50:36

标签: java multithreading extending

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

我是否可以使用另外一个扩展Thread的课程来扩展课程?

我知道我只能在Java中扩展一个类(并且我可以实现Runnable,虽然我现在对此不太满意),但是我可以在如前所说的级联?还是我被迫使用implements? 我会举起我的例子,让你完全得到我的所作所为:

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

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

2 个答案:

答案 0 :(得分:0)

只要您的Character类未声明final,就没有问题。 Character的每个子类继承(间接)private(以及Thread)的所有(非Object)行为和结构以及行为和结构Character。它们都可以用作Thread个对象。

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

答案 1 :(得分:0)

正如您所提到的,一个类只能从另一个类继承(扩展) 但是扩展类的层次结构确实存在。

例如,你可以有一个

public class Animal{
}

public class Mammal extends Animal{
}

public class Monkey extends Mammal{
}

super()在每个类的构造函数中使用