详解java中this.getClass()和super.getClass()的实例
程序员文章站
2024-02-24 15:18:07
详解java中this.getclass()和super.getclass()的实例
前言:
遇到this.getclass()和super.getclass()的返回...
详解java中this.getclass()和super.getclass()的实例
前言:
遇到this.getclass()和super.getclass()的返回值感到疑惑,经过探索豁然开朗。
getclass()是java中object类的一个方法,其原型为:
public final class<?> getclass()
返回值为 当前运行时类的class对象。
所以写了一段代码来说明:
getclass()不受this和super影响,而是有当前的运行类决定的。
代码如下:
父类:
package com.cyou.lijiang_hw; import java.lang.reflect.parameterizedtype; public class basedao { public basedao() { system.out.println("==============basedao initialization============="); system.out.println("this.getclass() ---->" + this.getclass()); system.out.println("super.getclass()---->" + super.getclass()); } }
子类:
package com.cyou.lijiang_hw; public class userdao extends basedao<user> { public userdao() { system.out.println("\n==============userdao initialization============="); system.out.println("this.getclass() ---->" + this.getclass()); system.out.println("super.getclass()---->" + super.getclass()); } }
测试类:
package com.cyou.lijiang_hw; public class test { public static void main(string[] args) { userdao userdao = new userdao(); } }
输出结果为:
==============basedao<t> initialization============= this.getclass() ---->class com.cyou.lijiang_hw.userdao super.getclass()---->class com.cyou.lijiang_hw.userdao ==============userdao initialization============= this.getclass() ---->class com.cyou.lijiang_hw.userdao super.getclass()---->class com.cyou.lijiang_hw.userdao
以上就是详解java中this.getclass()和super.getclass()的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇: 使用Feign实现微服务间文件下载
下一篇: c#显示当前在线人数示例