java 哪个类不能是java中的子类,为什么?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/25960818/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 09:02:19  来源:igfitidea点击:

Which class can not be a subclass in java and why?

javainheritancesubclass

提问by Gayachand

I am not getting this question correctly:

我没有正确回答这个问题:

Which class can not be a subclass in java and why?
a.) abstract class
b.) parent class
c.) final class
d.) none of them

哪个类不能是java中的子类,为什么?
a.) 抽象类
b.) 父类
c.) 最终类
d.) 没有一个

Actually according to me a parent class can not be a subclass, but form http://www.mastguru.comi got the result that, "final class" can not be a subclass. According to java standard we cant create sub class of a final class. So please suggest me and explain to clear my doubt.

实际上,根据我的说法,父类不能是子类,但是从http://www.mastguru.com我得到的结果是,“最终类”不能是子类。根据 java 标准,我们不能创建最终类的子类。所以请建议我并解释以消除我的疑问。

回答by Jon Skeet

Any of these can be a subclass. For example:

其中任何一个都可以是子类。例如:

public class Superclass {
}

public abstract class AbstractSubclass extends Superclass {
}

public class MiddleClass extends Superclass {
}

public class BottomClass extends MiddleClass {
}

public final class FinalSubclass extends Superclass {
}
  • AbstractSubclassis an example of a subclass which is abstract
  • MiddleClassis an example of a "parent class" (by which it means superclass, I assume) which is also a subclass
  • FinalSubclassis an example of a subclass which is final
  • AbstractSubclass是抽象子类的一个例子
  • MiddleClass是“父类”的一个例子(我假设它意味着超类),它也是一个子类
  • FinalSubclass是一个最终的子类的例子

Even Superclassisn't really needed here, as anyclass other than java.lang.Objectis a subclass - either of java.lang.Objector of some (potentially indirect) subclass of java.lang.Object.

甚至Superclass是不是真的需要这里,因为任何比其他类java.lang.Object的子类-无论是在java.lang.Object或一些(可能间接)的子类java.lang.Object

回答by Nabin

A parent class can be a sub class of other class.

父类可以是其他类的子类。

This is called MultiLevel Inheritance.

这称为多级继承

A->B->C

B can inherit A and C can inherit B.

B可以继承A,C可以继承B。

回答by Jeeter

A parent class can be a subclass, being a parent class just entails that it has a subclass. For instance, JComponentis a subclass of Object, but it's still a parent class, because of its subclasses.

父类可以是子类,作为父类只需要它有一个子类。例如,JComponent是 的子类Object,但由于其子类,它仍然是父类。

For instance, looking here, we see:

例如,看这里,我们看到:

java.lang.Object
   extended by java.awt.Component
     extended by java.awt.Container
        extended by javax.swing.JComponent

so JComponentis a subclass. But it also is a parent for classes such as AbstractButton, BasicInternalFrameTitlePane, Box, and so on.

JComponent子类也是如此。但它也为类,如父母AbstractButtonBasicInternalFrameTitlePaneBox,等等。