源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解java中this.getClass()和super.getClass()的实例

  • 时间:2021-06-25 11:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解java中this.getClass()和super.getClass()的实例
[b]详解java中this.getClass()和super.getClass()的实例[/b] [b]前言:[/b] 遇到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()的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部