栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java虚拟方法调用有什么用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java虚拟方法调用有什么用?

这是一个例子。假设我们有2个类别:

class A {    public String getName() {        return "A";    }}class B extends A {    public String getName() {        return "B";    }}

如果我们现在执行以下操作:

public static void main(String[] args) {    A myA = new B();    System.out.println(myA.getName());}

我们得到结果

B

如果Java没有

virtual methodinvocation
,它将在编译时确定
getName()
要调用的是属于
A
该类的。既然不是,而是在运行时根据所
myA
指向的实际类来确定,则可以得到以上结果。

[编辑以添加(略有捏造)示例]
您可以使用此功能编写一个方法,该方法将任意数量的

Object
s作为参数并按如下所示打印它们:

public void printObjects(Object... objects) {  for (Object o: objects) {    System.out.println(o.toString());  }}

这将适用于任何对象混合。如果Java没有

virtual methodinvocation
,则所有对象都将使用
toString()
不太可读的对象打印。现在,
toString()
将使用每个实际类的,这意味着打印输出通常更具可读性。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号