JAVA 基础细节汇总(持续更新中....)

一、子类重定义父类的方法,同时子类拥有和父类相同的属性,使用属性的规则是:如果实际执行的是子类方法就使用子类属性,执行的是父类方法就使用父类属性。属性没有重定义的概念

   例如:

这里输出的是2,不是1。因为这里实际上调用的是B的test方法。所以使用B类的属性。

二、对于整数类型,包括short 、Int、long 。如果使用对象Integer a=2; Integer b=2; 如果直接比较a==b,这里返回true。这只在数值范围在-128~127内成立。如果超出这个范围,他们就会各自创建自己的包装对象,a就不再等于b的引用了。

三、多维数组,比如2维数组,不一定第2维的长度都要相同。

四、如果重载一些方法,这些方法的参数类型不同,但是他们具有父子关系时,我们在调用的过程中。如果没有当前类型的方法,这个参数会进行向上转型,即转成适合父类的类型来进行调用。拿数值类型来说,首先是基本类型(从小字节到大字节例如,short->int->long),然后是相应的包装类,然后是Number类,然后是Object类。所以如果方法只是这些参数不同,调用的时候就会依次查找存在的方法,按照顺序,找到就调用。

posted @ 2008-07-11 17:47  lovingprince  阅读(206)  评论(0编辑  收藏  举报