这里给狗对象赋予动物参考的目的是什么..我们可以通过创建对象来对狗类直接访问方法请澄清
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
}
}
答案 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。
所以基本上它(基类)就像核心一样工作,而(衍生类)就像实现一样工作。
希望它有所帮助。