java overriding方法的概念超过骑马

时间:2015-05-13 11:42:23

标签: method-overriding

这里给狗对象赋予动物参考的目的是什么..我们可以通过创建对象来对狗类直接访问方法请澄清

 class Animal{

 public void move(){
 System.out.println("Animals can move");
 }
 }

class Dog extends Animal{

  public void move(){
  super.move(); // invokes the super class method
  System.out.println("Dogs can walk and run");
 }
}

public class TestDog{

public static void main(String args[]){

 Animal b = new Dog(); // Animal reference but Dog object
 b.move(); //Runs the method in Dog class


 }
}

2 个答案:

答案 0 :(得分:1)

class Dog extends Animal

代码段的作用

  

它使Animal类成为Dog的父母。   由于Dog类继承了Animal类,因此Animal类成为Dog类的父类。

创建对象

  

如果你只想使用Dog的属性,那么Dog就是   对象的类型就足够了。

Dog b = new Dog();
  

如果你想使用Animal和Dog的属性,那么使用Animal作为对象的类型。

Animal b = new Dog();
  

这就是为什么Animal对象可以用作一个   引用Dog对象。

答案 1 :(得分:0)

你看到Animal类是Dog类的父类。

我们在将Base类的属性与Derived类(适用于Dog的Animal属性)共享的情况下使用此概念

因此,move的一个属性是Base类中的一个方法,可以在类Dog中派生,并使用它的属性。

我们可以使用或构建它 - 方法重载。

可以使用@Override注释 - 但可选

为类型为Base类的Derived类(获取Base类及其自己的类的功能)创建Object。

所以基本上它(基类)就像核心一样工作,而(衍生类)就像实现一样工作。

希望它有所帮助。