详解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()的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java将图片组合成PDF文件的方法

    Java将图片组合成PDF文件的方法

    这篇文章主要为大家详细介绍了Java将图片组合成PDF文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • SpringMVC请求/响应乱码问题解决方案解析

    SpringMVC请求/响应乱码问题解决方案解析

    这篇文章主要介绍了SpringMVC请求/响应乱码问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java常见踩坑记录之异常处理

    Java常见踩坑记录之异常处理

    程序运行时发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常,下面这篇文章主要给大家介绍了关于Java常见踩坑记录之异常处理的相关资料,需要的朋友可以参考下
    2022-01-01
  • Lombok的@Data等注解无效的解决

    Lombok的@Data等注解无效的解决

    这篇文章主要介绍了Lombok的@Data等注解无效的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot Session接口验证实现流程详解

    SpringBoot Session接口验证实现流程详解

    这篇文章主要介绍了SpringBoot+Session实现接口验证(过滤器+拦截器)文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • TransmittableThreadLocal解决线程间上下文传递烦恼

    TransmittableThreadLocal解决线程间上下文传递烦恼

    这篇文章主要为大家介绍了TransmittableThreadLocal解决线程间上下文传递烦恼详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • HttpServletRequest对象常用功能_动力节点Java学院整理

    HttpServletRequest对象常用功能_动力节点Java学院整理

    这篇文章主要为大家详细介绍了HttpServletRequest对象常用功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • java 方法重写与权限修饰符以及多态和抽象类详解概念和用法

    java 方法重写与权限修饰符以及多态和抽象类详解概念和用法

    重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写,权限修饰符用于控制被修饰变量、方法、类的可见范围,说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高
    2021-10-10
  • spring整合kaptcha验证码的实现

    spring整合kaptcha验证码的实现

    这篇文章主要介绍了spring整合kaptcha验证码的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 分析JAVA中几种常用的RPC框架

    分析JAVA中几种常用的RPC框架

    这篇文章主要介绍了JAVA中几种常用的RPC框架的相关知识点,对此有兴趣的朋友参考学习下吧。
    2018-03-03

最新评论