java中的多态和继承

java中的多态和继承

这篇文章主要讲解了java中的多态和继承,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

我们知道“多态”和“继承”是分不开的哦!我们先写2个类!

Car类

class Car {
    private String name;
    private double price;
    
    public Car(String name, double price) {
        super();
        this.name = name;
        this.price = price;
    }
 
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public double getPrice() {
        return price;
    }
    
    public void setPrice(double price) {
        this.price = price;
    }
    
    public void printlnName() {
        System.err.println("name:"+getName());
    }
    
}

BMW类 继承了Car类

class BMW extends Car{
    private String color;
    
    public BMW(String name, double price, String color) {
        super(name, price);
        this.color = color;
    }
 
    public String getColor() {
        return color;
    }
 
    public void setColor(String color) {
        this.color = color;
    }
    
}

什么是多态呢?

java中,对象变量是多态的!一个Car变量既可以引用一个Car类对象,也可以引用一个BMW类对象。

也就是可以这样写:

class Test {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Car car = new BMW("bmw320",300000.0,"white");
    
    }
 
}

但是这样写,会产生一个问题,car不能调用BMW中的方法了。

java中的多态和继承

可以看到,不能调用BMW中的方法了。

看完上述内容,是不是对java中的多态和继承有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。