JAVA 基础细节汇总(持续更新中....)
程序员文章站
2022-07-08 17:21:25
...
一、子类重定义父类的方法,同时子类拥有和父类相同的属性,使用属性的规则是:如果实际执行的是子类方法就使用子类属性,执行的是父类方法就使用父类属性。属性没有重定义的概念
例如:
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类。所以如果方法只是这些参数不同,调用的时候就会依次查找存在的方法,按照顺序,找到就调用。
上一篇: JSP+Servlet+MysQL(MVC)实现登陆验证
下一篇: 去除中国菜刀密码的方法