问答详情
源自:1-1 Class类的使用

类类型很困惑的问题啊

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

提问者:慕桂英7844551 2018-04-27 21:51

个回答

  • GHW108
    2018-06-15 16:17:14

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

  • 张奸狗二
    2018-05-29 14:51:39

    您先区分开

    什么是类?

    什么是类的实例对象?


    什么是类呢:

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

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

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


    什么是类的实例对象:

    Foo f1 = new Foo();

    f1 就是类的实例对象.

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


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


  • qq_杀意隆_0
    2018-04-28 09:43:13

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

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

    你搞反了