OC与Java的对比

对比项 Java Objective-C
引入 import java.util.Map; #import "MyTest.h"或@class MyTest
基类 java.lang.Object NSObject
接口 public interface MyTestFace {…} @protocol MyTestFace <NSObject>…@end
public class MyTest{…} @interface MyTest: NSObject…@end
@implementation MyTest…@end
类继承 public class My extends MyP{…} @interface My: MyP…@end
实现接口 public class My implements MyF{…} @interface MyTest: NSObject<MyF>…@end
方法定义 public String executeTest() { return "Hello";} - (NSString *) executeTest{ return @"Hello";}
类方法 public static String executeTest() { return "Hello";} + (NSString *) executeTest{ return @"Hello";}
带1个参数方法 public String exeTest(String strP) { return strP;} - (NSString *) exeTest:(NSString *)strP{ return strP;}
带n个参数方法 public int exeTest(int i1,int i2,int i3){ return i1+i2+i3;} - (int) exeTest:(int)i1 i2:(int)i2 i3:(int)i3{ return i1+i2+i3;}
成员变量 public String title; @property NSString *title;
静态变量 public static String title="Hello"; static NSString *title =@"Hello";
实例化 MyTest myObj = new MyTest(); MyTest *myObj =[[MyTest alloc] init];
方法调用 myObj. executeTest(); [myObj executeTest];
1个参数方法调用 myObj. executeTest(1); [myObj executeTest:1];
n个参数方法调用 myObj. executeTest(1,2,3); [myObj executeTest:1 i2:2 i3:3];
成员赋值 myObj. title="Hello"; myObj. title=@"Hello";
空值 null nil
通用类 java.lang.Object idinstancetype
输出 System.out.println("Hello); NSLog(@"Hello");
  • OC类是由 两部分组成。interface 负责声明方法、变量,与传统的接口概念相似

  • OC的继承是定义在interface中的


公众号“编程之路从0到1”

20190301102949549

Copyright © Arcticfox 2021 all right reserved,powered by Gitbook文档修订于: 2022-05-01 12:20:20

results matching ""

    No results matching ""