关于.getClass()跟.class的用法

关于.getClass()跟.class的用法

https://img1.sycdn.imooc.com//climg/617cb38c09e02d0d05400217.jpg


问题:.getClass()为什么只能用在obj,而不能Cat.getClass(),是因为.getClass()只能用在没有实例化的对象上吗?还是说.getClass()用在会变的对象上,而.class用在不变的对象上。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-10-30 11:55:19

同学你好,通过getClass()方法可以得到一个Class类的对象,这里是想判断传入的参数obj是否是Cat类型的

而getClass()的使用是需要通过对象引用来调用的,无法直接使用类名调用

祝学习愉快~


  • 提问者 慕仙916706 #1

    我的意思是为什么不能obj.getClass()==Cat.getClass()或者obj.class==Cat.getClass()

    2021-10-30 11:58:39
  • 好帮手慕阿园 回复 提问者 慕仙916706 #2

    同学你好,很抱歉上面老师理解有误,已修改回答

    1、getClass()不是静态方法,所以无法直接通过类调用,所以Cat.getClass()是会报错的

    2、而.class是需要通过类名.class来调用的,无法直接使用实例对象(对象引用)来调用

    所以,getClass()是需要通过实例对象.getClass() 使用的,而class是通过类名.class使用的

    祝学习愉快~

    2021-10-30 15:41:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师