相同点:程序都能正常运行
不同点:
-
instantType
会有返回类型检测。比如在Person类的初始化方法中,会检测返回值类型是否为Person类。如果不是,编译器会报警告。 -
id
类型不会检测返回值类型,所以即使返回的实例对象不是当前类,也不会有警告。
效果如图:


总结:初始化方法用instantType
会更严谨
相同点:程序都能正常运行
不同点:
instantType
会有返回类型检测。比如在Person类的初始化方法中,会检测返回值类型是否为Person类。如果不是,编译器会报警告。id
类型不会检测返回值类型,所以即使返回的实例对象不是当前类,也不会有警告。效果如图:
总结:初始化方法用instantType
会更严谨
本文标题:返回值类型id和instantType的区别
本文链接:https://www.haomeiwen.com/subject/wvxjectx.html
网友评论