1.建立数组
1 int[] i = {1,2,3};
2 String[] s = {"a","b","c"};
上面的语句确实可以建立数组。看似{1,2,3}可以
独立代表一个数组对象,其实是不可以的,这和String类型的字面值不同,一个String类型的字面值就是一个String类的实例,而一个数组的字面值什么都不是。
2.静态方法或变量的覆盖
1 public class Main {
2
3 public static int i = 10;
4 /**
5 * @param args the command line arguments
6 */
7 public static void main(String[] args) {
8 System.out.println(TTT.i);
9 System.out.println(Main.i);
10 Main m = new Main();
11 System.out.println(m.i);
12 TTT t = new TTT();
13 System.out.println(t.i);
14 Main m2 = new TTT();
15 System.out.println(m2.i);
16 System.out.println(((TTT)m2).i);
17
18 Main.Test();
19 TTT.Test();
20 m.Test();
21 t.Test();
22 m2.Test();
23 ((TTT)m2).Test();
24 }
25
26 public static void Test() {
27 System.out.println("Hello Test From Main.");
28 }
29
30 }
31
32 class TTT extends Main {
33
34 public static int i = 20;
35
36 public static void Test() {
37 System.out.println("Hello Test From TTT.");
38 }
39 }
3.一个接口可以继承多个接口(使用extends关键字)
4.如果一个类中定义了final常量,并且在多个类中被引用,当该常量被修改时(
代码级修改),其他引用该常量的类都要被重新编译,
否则,新值是不会被代入引用该常量的类中。原因是常量在编译期被硬编码到引用它的类中,可以通过反编译工具来验证。
5.一个方法的返回类型必须直接写在方面名称的前面
6.与类名相同的方法名(非构造函数)是被允许的(JDK1.4测试通过,也许1.4之前的版本不能通过)
1 public class Test {
2 Test() {
3
4 }
5
6 public void Test() {
7
8 }
9 }