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

 更新时间:2017年08月21日 17:01:37   投稿:lqh  
这篇文章主要介绍了详解java中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()的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Spring Boot 中的 @PutMapping 注解原理及使用小结

    Spring Boot 中的 @PutMapping 注解原理及使用小结

    在本文中,我们介绍了 Spring Boot 中的 @PutMapping 注解,它可以将 HTTP PUT 请求映射到指定的处理方法上,我们还介绍了 @PutMapping 注解的原理以及如何在 Spring Boot 中使用它,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • SpringBoot整合Echarts实现用户人数和性别展示功能(详细步骤)

    SpringBoot整合Echarts实现用户人数和性别展示功能(详细步骤)

    这篇文章主要介绍了SpringBoot整合Echarts实现用户人数和性别展示,通过数据库设计、实现数据访问层、业务逻辑层和控制层的代码编写,以及前端页面的开发,本文详细地介绍了SpringBoot整合Echarts的实现步骤和代码,需要的朋友可以参考下
    2023-05-05
  • springboot使用注解获取yml配置的两种方法

    springboot使用注解获取yml配置的两种方法

    本文主要介绍了springboot使用注解获取yml配置的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • SpringCloud通过Feign传递List类型参数方式

    SpringCloud通过Feign传递List类型参数方式

    这篇文章主要介绍了SpringCloud通过Feign传递List类型参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Flyway详解及Springboot集成Flyway的详细教程

    Flyway详解及Springboot集成Flyway的详细教程

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里。这篇文章主要介绍了Flyway详解及Springboot集成Flyway的详细教程的相关资料,需要的朋友可以参考下
    2020-07-07
  • MyBatis常用动态sql大总结

    MyBatis常用动态sql大总结

    这篇文章主要给大家介绍了关于MyBatis常用动态sql的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Transactional注解导致Spring Bean定时任务失效的解决方法

    Transactional注解导致Spring Bean定时任务失效的解决方法

    这篇文章主要介绍了Transactional注解导致Spring Bean定时任务失效的解决方法,文中通过代码示例介绍的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下
    2024-10-10
  • Spring 事务事件监控及实现原理解析

    Spring 事务事件监控及实现原理解析

    本文首先会使用实例进行讲解Spring事务事件是如何使用的,然后会讲解这种使用方式的实现原理。感兴趣的朋友跟随小编一起看看吧
    2018-09-09
  • 阿里面试Nacos配置中心交互模型是push还是pull原理解析

    阿里面试Nacos配置中心交互模型是push还是pull原理解析

    这篇文章主要为大家介绍了阿里面试Nacos配置中心交互模型是push还是pull原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • jdk17+springboot使用webservice的踩坑实战记录

    jdk17+springboot使用webservice的踩坑实战记录

    这篇文章主要给大家介绍了关于jdk17+springboot使用webservice踩坑的相关资料,网上很多教程是基于jdk8的,所以很多在17上面跑不起来,折腾两天,直接给答案,需要的朋友可以参考下
    2024-01-01

最新评论