语法

“Java is not platform-independent, it is the platform”

http://soft.yesky.com/info/223/2414723.shtml

 

1. C c=new C(new B(new A()));,构造函数顺序是A,B,C. /

2.java类中方法默认访问修饰符是friendly,但并不写,意为只能由同一个包内的对象访问。

3.java类中抽象方法必须使用abstract关键字修饰,并且不能有函数体。包含抽象函数的类必须定义为abstract.

   定义为abstract的类不一定要包含抽象方法。

4.另外abstract不能与static,private或final关键字组合使用。因为abstract方法要被子类修改/

5.interface中所有方法默认为public abstract的。所有变量隐式为static final的,因此必须给出初始值。且以后不能修改。

6.java中goto 是保留字,不能使用。可以用label,但只能用在循环里。

7.java中没有unsigned int类型。

8.使用new创建数组后,此时数组还是一个引用数组。只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。

   如: Object[] objs=new Object[2];objs[0]=new Object(),objs[1]=new Object[];

9.将一个方法声明为final,编译器会把这个方法置为inline.

  把局部变量声明为final,起使代码更加清晰的作用。

  或者在匿名访问内联类时,使用final?

10.与c++对比,在java类中,所有的方法默认都是"虚函数". 只有以关键字 final 标记的方法才是非虚函数。

  在 C# 语言中, 对基类中的任何虚方法必须用 virtual 修饰,而衍生类中由基类继承而来的重载方法必须用override 修饰.

11.匿名内部类(Anonymous InnerClass),在创建实例的同时给出类的定义,所有这些在一个表达式中完成。
Runnable rn = newRunnable(){
   
public void run(){
    }
};
相当于

class Anomymous implements Runnable {
   
public void run(){
    }
}
Runnable rn
=newAnomymous();
前者更简洁。

注意前者最后的分号不能省略,编译器把整个看作一条语句。
不过,匿名内部类仅限于只实例化一次的内部类,如果内部类需要多次实例化,通常用后者。
另外,匿名内部类要么继承一个父类,要么实现一个接口,不能两者兼有,实现接口时也不能实现多个接口。

12. Cannot refer to a non-final variable stateArray inside an inner class defined in a different method

      final 相当于c++中的const

13.enum,要写在类中,或单独成一个文件。

public enum MessageType
 {
  Message_Phone_Outcall,
  Message_Phone_Incoming,
 };

转换成int:  MessageType.Message_Phone_Outcall.ordinal();

int转换成枚举:MessageType messageType=MessageType.values()[msg.what];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值