首页 > 试题广场 >

下面关于super关键字错误的描述是()

[单选题]
下面关于super关键字错误的描述是()
  • 使用super关键字发送消息会被编译器转化为调用objc_msgSendSuper
  • 子类中调用 父类的方法 可以使用super
  • self是指向当前实例的,super指向父类的实例
  • super不是一个指针
选 C

super 的结构如下:
struct objc_super2 {
    id receiver;
    Class current_class;
};
消息的 receiver 还是当前实例
发表于 2020-03-28 21:35:26 回复(0)
self指向的是当前Student的实例对象,而super则是:先去父类的方法列表中找到personBaseMethod,然后给self(也就是Student的实例对象)发消息。由self对象来执行父类personBaseMethod这个方法体中的[self class]。 所以最终还是由self来执行sel_registerName("class") 这个selector。
发表于 2020-03-27 09:12:46 回复(0)