为了账号安全,请及时绑定邮箱和手机立即绑定

类类型很困惑的问题啊

既然class是静态成员属性,为什么不能直接用Foo的对象.class去获取?而可以用类名.class去访问?

正在回答

3 回答

静态成员变量可以通过类名访问,也可以通过对象访问

0 回复 有任何疑惑可以回复我~

您先区分开

什么是类?

什么是类的实例对象?


什么是类呢:

就是你写的那个代码文件就叫做类, 

但是程序中你要用这个类执行的话就只能调用其中的静态属性或静态方法, (注意这里没有 new 关键字, 未实例化类)

没有实例化的类一直都是类的对象, 所以你会发现类本身是和对象 Object 分开的


什么是类的实例对象:

Foo f1 = new Foo();

f1 就是类的实例对象.

它继承自 Object 对象, 类类型是 Foo


就是因为类是定义类的规范的文件, 对象是程序运行内部流转的数据(该数据格式使用类进行规范)


0 回复 有任何疑惑可以回复我~

正因为是静态成员,才要用类名.class去调用

如果不是静态成员,就要Foo的对象.class来调用。

你搞反了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
反射——Java高级开发必须懂的
  • 参与学习       151172    人
  • 解答问题       335    个

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

进入课程

类类型很困惑的问题啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信