扩展对象的类

时间:2015-06-22 13:31:57

标签: java

如果每个类都扩展了Object,那么显式“扩展”关键字到另一个类的工作原理是什么?这是否意味着当前类不再扩展Object或它是否意味着它扩展了两个类?

3 个答案:

答案 0 :(得分:1)

Class A // extends Object
{
}
Class B extends A {

} 

Class B直接延伸Class A Class Object 传递

答案 1 :(得分:1)

编程中的许多事情都是根据现实生活情况进行的。想想动物。

  • 动物。动物可以吃。
  • 哺乳动物是动物。哺乳动物生产牛奶。
  • 猫科动物是哺乳动物。猫科动物是食肉动物。
  • 狮子会是猫科动物。狮子会拥有以上所有的属性。

使用Java类实现上述功能。

class Animal{
    //can eat
} 

class Mammal extends Animal{
    //can eat
    //produce milk
}

class Felidae extends Mammal{
    //can eat
    //produce milk
    //carnivore
}

class Lion extends Felidae{
    //can eat
    //produce milk
    //carnivore
    //roars
}

class PussyCat extends Felidae{
    //can eat
    //produce milk
    //carnivore
    //meows
}

由于哺乳动物是动物,如果狮子是哺乳动物,它会自动将狮子分类为动物,从而接受动物的每一个属性。

狮子会是AnimalMammalFelidae的子集,它拥有其super class的所有属性。 PussyCat分享相同的"祖先" (超级)与lions,因此它继承相同的属性和行为,除了它喵喵叫而不是咆哮。

  

这是否意味着当前的类不再扩展Object或者它是否意味着它扩展了两个类?

在Java中,一切都从Object扩展而来。即使你不这样做,它也会隐含地为你扩展Object。

因此,您可以放心地假设您创建的每个类都是Object的子类,它们都包含来自Object的方法,例如toString()clone()

您不能在Java中扩展多个类,但它仍然是Object的子类。

答案 2 :(得分:0)

每个类都是Object Class的Sub类。如果你用另一堂课扩展自己的班级。该超类也是Object类的子类。

<强>假设:

Class A // extends Object
{
}
Class B extends A
{
} 

此处我正在使用B扩展课程A。即使B类具有对象类到类A

的所有功能