我们如何在java中创建类Object类

时间:2014-10-15 11:21:51

标签: java

在java中,默认情况下每个类都扩展Object,就像我们如何使我们的类A可以在我们的应用程序中默认扩展。

7 个答案:

答案 0 :(得分:4)

简短的回答 - 你不能。

稍长的答案 - 您可以创建自己的自定义空类......

public class MyObject {
}

..并让你项目中的每一课都扩展它......

public class MyOtherClass extends MyObject {
    public int doStuff();
}

......但是这种情况不太可能(好)使用。

答案 1 :(得分:2)

没有。其他类默认扩展的类是Object。你不能改变它。它是Java语言的基础部分。

JLS 8.1.4说:

  

给定(可能是通用的)类声明C<F1,...,Fn> (n ≥ 0, C ≠ Object),类类型C<F1,...,Fn>的直接超类是extends声明的C子句中给出的类型如果存在extends子句,否则为Object

没有“蠕动的空间”。


如果您希望应用程序中的所有类都是Object以外的其他类的子类,那么必须在每个类上都有一个extends子句它们。

答案 2 :(得分:1)

您不能将自己的类定义为Object类的替代。

但是,您可以创建自己的基类,并让所有类从该基类扩展。

答案 3 :(得分:1)

答案:你不能!!

  • Object class是java中所有classes的父

  • 您使用的classesobject class的子类 默认

  • 您可以保证总会有某些方法,例如 toString()equals()hashCode()

  • 它有助于synchronizationgarbage collection


为什么会这样:

  

Java就是这样设计的,所以Object类通过提供上面提到的所有内容来提供帮助   对象通信和对象识别的基础特征,以便具有这些特征   功能明确扩展不需要的类


更多信息:

  1. Have a look at this Stackoverflow answer here
  2. Oracle Docs
  3. Grep Code

答案 4 :(得分:0)

没有办法做到这一点。

你必须明确地让每个类扩展A.如此

public class B extends A {

}

答案 5 :(得分:0)

答案是你不能。

Object类是类层次结构的根。每个类都有Object作为超类。所有对象(包括数组)都实现此类的方法。

答案 6 :(得分:0)

如果没有明确使用extends,这肯定是不可能的。 Object是每个Java Class的父类,所以我认为你需要坚持下去。除此之外,你总是可以用你喜欢的课程来扩展课程。

希望它有所帮助。

Clemencio Morales Lucas。