【问题标题】:Java class by default, it will implicitly extend java.lang.Object [duplicate]默认情况下Java类,它将隐式扩展java.lang.Object [重复]
【发布时间】:2015-06-22 17:11:12
【问题描述】:

在本教程 (http://www.studytonight.com/java/object-and-classes) 中,我了解到 java 类可以选择扩展一个父类。默认情况下,它将扩展 java.lang.Object。

注意:我读到的重要声明是 Java 枚举隐式扩展了 java.lang.Enum 类,因此您的枚举类型不能扩展另一个类。

注意我们的普通java类不应该扩展其他类,如enum(枚举类型不能扩展另一个类)。但是我们可以继承一个类。这是多重继承。?

在java类中可以通过extends关键字派生。像这样

class SomeClass
 { }
class MyClass extends SomeClass{}

所有java类如何默认扩展java.lang.Object类而没有extends在java中的关键字?

当我们的类扩展了某个基类时,它就变成了多重继承。我在stackoverflow中搜索过,但我仍然不清楚。 By default any class extends Object class. Doesn't it mean java supports multiple inheritance?

谁能用一个简单的例子来澄清这一点。

【问题讨论】:

  • 在 Java 中,每个类都隐式地派生自类 Object。如果您创建自己的类,则不需要使用关键字extends。例如:public class MyClass {} <- this class is implicitly derived from Object, you don't need to write it. 如果您从另一个类派生您的类,您可以使用关键字 extends 来创建它例如:public class MyDerivedClass extends MyClass {}
  • @bmargulies,现在我请求回答我的疑问
  • @Jeroen Vannevel 现在我要求回答我的疑问

标签: java class object inheritance multiple-inheritance


【解决方案1】:
  • 每个类,除了 java.lang.Object,只扩展一个类。
  • 如果你写extends Something,那么你的类扩展了Something。
  • 如果你不写extends Something,那么你的类扩展了java.lang.Object。 (就像你写extends Object一样)

【讨论】:

  • 每个类,除了 java.lang.Object,只扩展一个类意味着什么..?
  • @P.JAYASRI 一类,而不是“一类或多类”。
  • 我请求您在阅读修改后的问题后再次回答
  • @P.JAYASRI 提出一个新问题。
【解决方案2】:

如果你不扩展任何类,你仍然会扩展 Object。如果你明确地扩展了某个类,那么你只扩展了这个类,但是扩展的类将默认扩展 Object。这样 Object 总是在类层次结构中。

【讨论】:

    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 2010-10-19
    • 2016-03-01
    • 2016-05-13
    相关资源
    最近更新 更多