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

难道我在这个地方 实例了 无数个 class的实例 都是相等的吗???

难道我在这个地方 实例了 无数个  class的实例 都是相等的吗???

最佳回答

2018-03-30

因为它们都是foo 类的类类型,并且一个类只会是一个class类的实例对象;比如一个String类,它是class类的一个对象,而这个对象就是String类的类类型(也就是c1和c2都是String的类型所以它们是相等的),这是我个人的见解,不知是否能帮到你

qq_科麦艾罗_03928408 (提问者)

可以这样理解吗 c1 c2都是foo的类类型,既然是类型那么就只有一个那就是string 类型。所以foo的不管是c几都是一个类类型。都是string。重点在于类型。类类型就是该类的类型。该类的类型是统一不变的。

#1 2018-03-30 回复

qq_嗅到你笔尖的芬芳_03193390 回复 qq_科麦艾罗_03928408

和我的理解是一样的

#2 2018-03-30 回复

回复 qq_科麦艾罗_03928408:这么理解吧, 楼上说的太复杂了, 

跟上我的思路哈

你有一个叫 Foo 的类文件, 这个类文件本身在程序运行期间就是一个对象, 是 Class 的对象

管他什么鬼的类 对象 什么鬼啊 抛下所有的纠结

让我们一起做

1. 区分开 类 和 类的实例对象 是不一样的东西(类是你写的文件, 它在程序运行期间会自动变成类对象. 而类的实例对象是 通过关键字 new 出来的. 一个是文件, 一个是虚拟的数据)

2. 类就是那个唯一的这个文件 com.imooc.reflect.Foo, 

没有与这个类名字一模一样的文件了(package + class name), 

既然没有那只要拿到它怎么比都是 true 啊!


2018-05-29
回复 2

豆芽moon

这样说的话,理解到一些了

#1 2018-07-26 回复

都返回是true,就是相等,理论上是这样子的

2018-03-30
回复 0

qq_科麦艾罗_03928408 (提问者)

那他实力好的类的名字不一样啊,一个叫做c1 一个叫做c2 根本不一样啊

#1 2018-03-30 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信