用这段代码
public static void doSomething(Animal arg)
{
...
}
以下哪一项更正确? (它们都能正常编译和运行。)有区别吗?
public static void main(String[] args)
{
Animal fido = new Dog();
doSomething(fido);
}
或
public static void main(String[] args)
{
Dog fido = new Dog();
doSomething(fido);
}
我不认为这很重要,但是有没有更传统的?谢谢。
最佳答案
这取决于您稍后在代码中对这个对象的使用,如果这可能在其余代码中包含其他 Animal
,则保留它 Animal
,因为调用此方法 (doSomething
),这无关紧要(因为 Dog
是 Animal
)。
关于java - Java 中的动态方法绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6886166/