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


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