关闭

java和objective-C对接笔记

标签: javaiosobjective-c区别联系
159人阅读 评论(0) 收藏 举报
分类:

java类

  • 一个源文件中只能有一个public类
  • 一个源文件可以有多个非public类
public class Dog{
   String breed;//成员变量

   void barking(){
   }
}

iOS:

 @property int  a;
- (void)viewDidLoad {}

初始化

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问其中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();

java 方法

System.out.println()

println()是一个方法(Method),而System是系统类(Class),out是标准输出对象(Object)。这句话的用法是调用系统类System中的标准输出对象out中的方法println()。

修饰符 返回值类型 方法名 (参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

java循环

java为数组专有的循环

for(声明语句 : 表达式)
{
   //代码句子
}

java可变参数方法

private static void getMax(int...numbers)

其实话说这不就是iOS里 -(void)getMax:(NSArray*)arr
具体还没有渗入研究

java 接口

[可见度] interface 接口名称 [extends 其他的类名] {
        // 声明变量
        // 抽象方法
}

隐式抽象,abstract关键字不必用。
每个iOS声明的方法,在java中都对应是抽象函数

java抽象类 类似于iOS的category 不过category不可以添加属性,所以iOS添加属性一般是runtime.h中的objc_getAssociatedObject/set 来访问和生成关联对象。模拟添加属性

使用接口

public class MammalInt implements Animal

看使用方式,其实更像delegate了。

java常量

final int i =0;

iOS:

    NSString * const YetAnotherConstant=@“hello world”;

java 继承

public class Mammal extends Animal

iOS

@interface MyNaviViewController : UINavigationController

@end

java重载

iOS是没有重载的,如果非要用,用objective-C++

public String test(int a,String s){
    System.out.println("test3");
    return "returntest3";
}   

public String test(String s,int a){
    System.out.println("test4");
    return "returntest4";
}

java多态

多态概念倒是和iOS基本对接

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:66795次
    • 积分:1359
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:72篇
    • 译文:3篇
    • 评论:7条
    文章分类
    最新评论