向上转型和向下转型:为什么父类引用无法访问子类方法?

ID:16488 / 打印

向上转型和向下转型:为什么父类引用无法访问子类方法?

this关键字用法剖析

this关键字在Java编程中扮演着重要的角色,用于指向当前对象的实例。它通常出现在方法内部,用于访问当前对象成员变量或方法。

然而,在题中给出的示例中,并不是this关键字的用法。而是展示了向上转型的现象。

向上转型是指将子类对象赋给父类引用。在示例中,B类是A类的子类。当将B对象b赋值给A引用a时,a引用会丢失对B类中特有方法speek()的访问权限。

因此,在调用a.print()和System.out.println(a.i)时,它只会使用父类A的方法和成员变量。而b.speek()则会报错,因为a引用没有speek()方法。

通过向下转型,即强制将父类引用转换为子类引用,可以重新获得对子类方法的访问权限。示例中的((B) a).speek()就是一种向下转型。

上一篇: 如何使用 Java+Freemarker 实现 PC 端生成二维码,手机扫码上传图片并实时展示?
下一篇: SSM框架定时器循环触发问题:为什么访问登录页面后定时器会多执行?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。