如何获取父类的名称

136 阅读1分钟

分析&回答

这个问题很恶心,很容易踩坑。

很多人的第一反应一定是
super.getClass().getName();

但是这样其实是不对的,由于getClass()在Object类中定义成了final,子类不能覆盖该方法,调用super.getClass().getName()方法,等效于调用getClass().getName()方法,所以,super.getClass().getName()方法返回的应该是当前类的名称。

正确方式:
getClass().getSuperClass().getName();

喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!