在子类SonPerson的exercise方法中打印如下三个方法值
SonPerson *son = [[SonPerson alloc]init];
[son exercise];
- (void)exercise {
NSLog(@"%@---%@----%@",[self description],[self description],[super description]);
}
和在父类Person的exercise方法中打印的这三个值相同.
SonPerson/Person/Person
Self 表示创建的当前所在的对象..是一个指针.
而super只是一个编译修饰符,
[super class]不是用父类对象调用父类的class方法..因为我们根本就没有创建父类对象,当然不能让一个父类实例去调用它的对象方法.
所以super :让当前对象去调用父类的方法.
[XXX class] 的意思就是,调用者的class名,所以,调用的是谁,class还是谁.