1. switch语句的判断条件必须是整数型(java6支持枚举,java7支持String);case下的语句要用break退出,否则会执行后面跟着的case,直至遇到break。
2. (1)如果类B继承类A,那么b可以转换成a(例a=b),但a不可以转换成b:b=a;//编译错,b=(B)a;//编译对,运行错。
(2)如果类B与类A无继承,则a与b在任何情况下都不能转换。
3. 类的初始化:
(1)当类调入内存时,类中的静态成员开始初始化。
(2)超类的构造方法按照从最高到最低的顺序调用。
(3)类中的非静态对象初始化。
(4)调用类的构造方法。
4. 在一个构造方法中只能调用一次其他的构造方法,并且调用构造方法的语句必须是第一条语句。
5. this和super不能用在静态方法中,因为静态方法与对象无关。
6. 存取控制符的总结:
* public(类、类中的数据和方法):任何类可访问。
* protected(类中的数据和方法):继承类和同一软件包的类可访问。
* 无存取控制符即package(类、类中的数据和方法):同一软件包的类可访问。
* private(类中的数据和方法):只有数据和方法所在的类可访问。
7. 在重置方法时,子类的方法不能比超类(父类)的方法存取范围小。
8. 实现接口的类(抽象类除外)必须在类中给出接口所有方法的定义,因为接口中的方法都是public,所以必须在实现方法时加上public关键字。但是,抽象类可以实现也可以不实现其中的方法。
9. 实现接口要重写它的所有方法,继承一个Adapter则不用。若不想重写其所有方法,可继承其Adapter。
10. 静态常量、变量可以在声明时初始化,也可以在静态块中初始化,但都不能在构造方法中初始化。
11. 类中定义的变量会自动初始化,但方法中的变量不会,使用前必须赋值。
12. "10.2"JAVA当作双精度double(10.2d),所以"float f=10.2"编译出错,"float f=10.2f"或"float f=10"都可以。