黑马程序员技术交流社区

标题: 为什么类对象不能用作类型来创建对象,放在等号左边 [打印本页]

作者: ycsyoung    时间: 2015-8-19 23:08
标题: 为什么类对象不能用作类型来创建对象,放在等号左边
如题
Class p = [Person class];
Person *ps = [p new];//这样对
p *ps = [p new];//这样不对

作者: lzfree    时间: 2015-8-19 23:18
不知道啊。。
作者: 魏武    时间: 2015-8-19 23:30
Class 是一个结构体指针类型的别名,p是Class类型的数据,是一个类对象,但并不完全等于Person ,因为Person是类名,p却不是类名,p在以下两个情况可以代替Person:
1.在创建实例边变量的时候使用例如[p new]
2.p也可以调用类方法[p 类方法名]
作者: 墨琰    时间: 2015-8-19 23:47
真的码#????
作者: 庞佳星    时间: 2015-8-20 11:08
2l威武!!!!
作者: ycsyoung    时间: 2015-8-20 23:05
魏武 发表于 2015-8-19 23:30
Class 是一个结构体指针类型的别名,p是Class类型的数据,是一个类对象,但并不完全等于Person ,因为Person是 ...

问的就是  为什么  这个类对象可以和Person一样使用new和其他类方法,却不可以和Person一样 作为类型名实例化对象
作者: wangchao1992    时间: 2015-8-20 23:20
已学习。。
作者: 魏武    时间: 2015-8-21 00:04
ycsyoung 发表于 2015-8-20 23:05
问的就是  为什么  这个类对象可以和Person一样使用new和其他类方法,却不可以和Person一样 作为类型名实 ...

最底层的东西还是问老师去,我反正学的就知道到这了 = =也是菜鸟,还望见谅
作者: ycsyoung    时间: 2015-8-21 23:48
魏武 发表于 2015-8-21 00:04
最底层的东西还是问老师去,我反正学的就知道到这了 = =也是菜鸟,还望见谅 ...

就是为了水嘛{:2_34:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2