今天dubug代码时发现this.getClass()和super.getClass()得到的竟然是同一个类,都是当前类。

遍访网络资料得出:

  getClass()不受this和super影响,而是有当前的运行类决定的。

详细解释:

  getClass public final Class<? extends Object> getClass()返回一个对象的运行时类。该 Class 对象是由所表示类的 static synchronized 方法锁定的对象。 返回: 表示该对象的运行时类的 java.lang.Class 对象。此结果属于类型 Class<? extends X>,其中 X 表示清除表达式中的静态类型,该表达式调用 getClass。 getName public String getName()以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。getClass表示该对象的运行时类的 java.lang.Class 对象 上面俩句话实体都是子类,所以打印出来都是子类类名。

启示:

  若要获得父类属性与方法,请使用

  this.getClass().getSuperclass().getName();

  而不是

  super.getClass().getName();

最新文章

  1. Maya Plugin 编译Maya插件
  2. lua实现私有函数
  3. js的bind方法
  4. POJ1080Human Gene Functions(LCS变形)
  5. (必看)ping值不代表网速
  6. 架构模式之REST架构
  7. Gradle学习系列之九——自定义Task类型
  8. redis系列之Redis应用场景
  9. 转载 SharePoint 2013 Search功能
  10. Javascript规范
  11. java程序调用xfire发布的webService服务
  12. java基础之-I/O流和File类解析
  13. bzoj 3277
  14. flask之入门
  15. koa-passport实现本地验证
  16. [转帖]Docker 清理占用的磁盘空间
  17. RESTful架构解读
  18. MUI 窗体切换(setting设置)即窗口从右往左切换,返回从左往右切换。
  19. SQL列类型
  20. vue中使用hotcss--stylus

热门文章

  1. 牛客练习赛50 D tokitsukaze and Event (最短路,思维)
  2. 手写butterknife来剖析其原理
  3. 遍历SQL SERVER中所有存储过程和触发器
  4. DTcmsV4.0分析学习——(1)数据库结构分析
  5. C#常用控件和属性
  6. WebStorm 安装
  7. HTML 005 段落
  8. SpringMVC拦截器及多拦截器时的执行顺序
  9. MongoDB 基本操作 数据库、集合
  10. mybatis执行insert后马上能获取自增主键的语句写法