java和objective-C对接笔记

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值