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
Which class can not be a subclass in java and why?
提问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 {
}
AbstractSubclass
is an example of a subclass which is abstractMiddleClass
is an example of a "parent class" (by which it means superclass, I assume) which is also a subclassFinalSubclass
is an example of a subclass which is final
AbstractSubclass
是抽象子类的一个例子MiddleClass
是“父类”的一个例子(我假设它意味着超类),它也是一个子类FinalSubclass
是一个最终的子类的例子
Even Superclass
isn't really needed here, as anyclass other than java.lang.Object
is a subclass - either of java.lang.Object
or 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, JComponent
is 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 JComponent
is a subclass. But it also is a parent for classes such as AbstractButton
, BasicInternalFrameTitlePane
, Box
, and so on.
JComponent
子类也是如此。但它也为类,如父母AbstractButton
,BasicInternalFrameTitlePane
,Box
,等等。