码迷,mamicode.com
首页 > 编程语言 > 详细

java中为什么不能通过getClass().getName()获取父类的类名

时间:2018-03-01 00:48:03      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:ring   new   this   super   end   不能   输出   []   blog   

例如:

class A{}

public class B extends A{

public void test(){

  System.out.println(super.getClass().getName());

}

publis static void main(String[] args){

  new B().test(); //得到的输出结果为B,而不是A

  //可以通过this.getClass.getSuperclass().getName()获取父类类名(java的反射机制)

}

}

因为java中所有类均继承自Object类, 而getClass()方法在Object中是final的, 所以子类不能覆写, 儿Object中的该方法返回的是运行时类.

java中为什么不能通过getClass().getName()获取父类的类名

标签:ring   new   this   super   end   不能   输出   []   blog   

原文地址:https://www.cnblogs.com/kexianting/p/8486097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!