对象创建的区别

时间:2017-12-12 13:19:11

标签: java inheritance

请澄清以下对象创建差异。

有两个类:BikeHondaBike是一个超类,Honda是一个子类。

我已经按如下方式实例化了这两个类,我需要知道为子类创建对象和为子类创建对象并将其分配给超类时的差异。

package program;

class Bike{
    public void display1(){
        System.out.println("Class 1");
    }
}

public class Honda extends Bike{
    public void display2(){
        System.out.println("Class 2");
    }

    public static void main(String [] args){
        Bike b=new Honda();
        Honda h=new Honda();
    }
}

谢谢

1 个答案:

答案 0 :(得分:0)

程序到接口,而不是实现是人们在编写代码时遵循的最佳实践或模式。接口只是契约或签名,他们对实现一无所知。对接口的编码意味着,客户端代码总是持有一个Interface对象这样客户端程序就不会担心实现,接口签名决定了所有操作都可以完成。这可用于在运行时更改程序的行为。它还可以帮助您从维护的角度编写更好的程序。

如果您使用具体类,则无法更改行为。同样难以测试。对于上述情况,您可以创建自己的类所依赖的类存根。