您的位置 首页 java

Java多态典型笔试题和总结

Java多态典型笔试题和总结

下面代码的输出结果【中国台湾著名杀毒软件公司 面试题】

Java多态典型笔试题和总结

答案

classB

classB

classA

有疑问的话也就是第二个输出,

其实子类强转为父类其实是为了迷惑大家,强转操作是没有必要的。

这时就非常简单了,Java的多态所以输出classB

我们再看另外一道题

下面程序的输出结果是什么?【中国著名门户网站公司 校招笔试题】

Java多态典型笔试题和总结

请点击此处输入图片描

A、 Father Father B、 Father Child C、编译失败 D、以上答案都不对

解析:

答案应该是A。

两个getName方法是静态方法,在内存中的地址空间是固定的,不会冲突。

两个方法再内存中占用不同的空间,具体执行哪一个,则要看由哪个类来调用。

因为是静态方法且引用都是Father,所以只会调用Father的方法

如果换成下面写法(去掉static)

答案选择B.

Java多态典型笔试题和总结

总结

多态子父类的类型转换

在多态中,

成员函数 在多态调用时,编译看左边,运行看右边。

成员变量 :无论编译和运行,都参考左边(引用型变量所属的类)。

静态成员函数 :无论编译和运行,都参考做左边。

文章来源:智云一二三科技

文章标题:Java多态典型笔试题和总结

文章地址:https://www.zhihuclub.com/197275.shtml

关于作者: 智云科技

热门文章

网站地图