详解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()的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
[杭电多校2020]第一场 1004 Distinct Sub-palindromes
Swift -- 将本地生成的UIImage进行持久化保存(存到文件中fileManager.createFile)
网友评论