JAVA小问题总结2

1.继承中的域需要注意:当A为父类,B为子类时,A中有一个域为test , B重写了一个域test类型,变量名一样的域只是值不同,当使用A a = new B()这样构造对象的时候,a.test仍然是指向A类中的域test。不能像方法那样实现多态。但在类里面进行操作的时候,test就会说B类中的test。

2.类中的static域:若只是static,当使用该域时,类还是会初始化;若用final修饰后,该域如果是基础数据类型,那么会被当作常量处理,编辑器会把使用该域引用的变量自动转换成相应的值,运行时类不会被初始化。如:A类中域 final static int a = 1; B类进行引用System.out.print(A.a),此时编译器编译后等同System.out.print(1)为一般的常量值。类A仍然没有被初始化。

posted on 2011-10-26 23:05  Topless  阅读(176)  评论(0编辑  收藏  举报

导航