转自:http://blog.csdn.net/developer_zhang/article/details/8790136
1. Objective-C介绍
Objective-C是C语言的一个扩展集,是面向对象的。
在这介绍一下与Java的区别和联系吧:
(1) Objective-C 2.0版本之前是没有垃圾回收器的,但是2.0以后便支持了,但是Objective-C却支持retain/release方法 和 autorelease方法,必要时候,可以在程序中手动释放空间。
(2)Java接口与 Objective-C正式协议类似,Java具有抽象类,但是Objective-C没有。
(3)Java有类变量,在Objective-C中可以提供文件范围内的全局变量并为他们提供对应的访问器。
(4)Objective-C的公共和私有方法的形式比较松散,对象支持的任何方法都可以被调用。
(5)Java允许声明final类,组织更改其中的任何子类,而Objective-C正好相反,允许在运行时候向任何类添加方法。
(6)Objective-C中类实现可以分为两个文件:头文件和自身的实现文件。头文件带有(.h扩展名)保留类的信息,例如此类中的代码将要使用的任何新的枚举,类型,结构,以及代码。其他代码段的预处理器(使用#import)导入该文件。而JAVA缺少预处理器。
预处理器:是一种文本替换工具,能在代码进入编辑器之前,先对他们进行自动处理。以#开头的指示表示一个预处理命令。
(7)Objective-C中,空(零)对象用nil表示。可以向nil对象发消息,而不必担心NullPointerException异常。向nil对象发送消息表示停止操作指令。
(8)在Objective-C中,通过类别向现有的类中添加方法,可以改变类的行为。Objective-C中没有类似于final的类。
(9)Objective-C是以C为基础,可以使用C的所有特性。
2. 结语
可以借助Apple官方文档https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer 来大体了解Objective-C。