最近我参加了面试,并向我询问了一个问题
使用new()运算符创建Object 是多态吗?
例如:
Employee e = new Employee();
这是多态吗?(回答是和否,并解释.)
我无法想到答案.
正如我所读到的关于多态性的是编译类型和运行时.
谁能解释一下?谢谢.
Jun*_*san 10
如果为子类对象分配基类引用,那么它就是多态的一种形式.
多态,在词源上意味着"多种形式",是将基类的任何子类的对象视为基类的对象的能力.因此,基类有许多形式:基类本身及其任何子类.
这不是多态的一个例子
Employee e = new Employee();
Run Code Online (Sandbox Code Playgroud)
但假设Empolyee是一个类,它是从另一个名为Person的类扩展的,那么这将通过在运行时调用Employee的方法来启用多态:
Person p = new Employee();
Run Code Online (Sandbox Code Playgroud)
阅读本文以了解更多信息:
http://www.artima.com/objectsandjava/webuscript/PolymorphismInterfaces1.html