小编Sub*_*jee的帖子

java中的多态性:为什么我们设置对子对象的父引用?

我想了解设置父对象的用例的用例.示例:Dog类扩展了Animal类.(没有接口,请注意)我通常会像这样创建一个Dog的对象:

Dog obj = new Dog();
Run Code Online (Sandbox Code Playgroud)

现在,由于Dog是Animal的一个子类,因此它已经可以访问Animal的所有方法和变量.那么,这有什么不同:

Animal obj = new Dog(); 
Run Code Online (Sandbox Code Playgroud)

请提供正确的用例及其使用的代码段.请不要有关于'多态性'或'编码接口'的理论文章!

码:

public class Polymorphism {
    public static void main(String[] args){
        Animal obj1 = new Dog();
        Dog obj2 = new Dog();
        obj1.shout(); //output is bark..
        obj2.shout(); //output is bark..        
    }   
}

class Animal{
    public void shout(){
        System.out.println("Parent animal's shout");
    }       
}

class Dog extends Animal{
    public void shout(){
        System.out.println("bark..");
    }
}

class Lion extends Animal{
    public void shout(){
        System.out.println("roar..");
    }
}

class Horse extends Animal{
    public void shout(){ …
Run Code Online (Sandbox Code Playgroud)

java oop polymorphism

10
推荐指数
2
解决办法
9537
查看次数

标签 统计

java ×1

oop ×1

polymorphism ×1