JAVA 基础细节汇总(持续更新中....)
2008-07-11 17:47
501 查看
一、子类重定义父类的方法,同时子类拥有和父类相同的属性,使用属性的规则是:如果实际执行的是子类方法就使用子类属性,执行的是父类方法就使用父类属性。属性没有重定义的概念
例如:
这里输出的是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类。所以如果方法只是这些参数不同,调用的时候就会依次查找存在的方法,按照顺序,找到就调用。
例如:
public class A{ public int i=1; public void test(){ System.out.println(i); } } public class B extends A{ public int i=2; public void test(){ System.out.println(i); } public static void main(String [] args){ A a=new B(); a.test(); } }
这里输出的是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类。所以如果方法只是这些参数不同,调用的时候就会依次查找存在的方法,按照顺序,找到就调用。
相关文章推荐
- JAVA 基础细节汇总(持续更新中....)
- java基础知识汇总(持续更新中....)
- java基础知识汇总(持续更新中....)
- Linux基础知识汇总(4)...持续更新中
- JAVA基础语法(持续更新)
- java基础(持续学习更新记录)
- Java架构师 - 基础篇(持续更新中)
- Linux基础知识汇总(2)...持续更新中
- java知识汇总(持续更新)
- JAVA开发文章汇总,持续更新。
- java学习资料--优秀博客汇总(持续更新)
- JAVA 时间方法汇总(持续更新)
- Linux基础知识汇总(3)...持续更新中
- java面试基础--持续更新
- Java设计模式汇总,持续更新中
- Java 基础知识总结--持续更新
- Java基础(持续更新)
- 开发小细节汇总(持续更新)
- [置顶] Java开发人员面试题分析汇总(持续更新中)
- JAVA基础知识学习笔记(持续更新中。。)