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基本对接