方法重载 方法名相同而参数不同就是方法重载。方法重载是以参数类型和个数区分的,而不是以返回值区分的。
1.涉及基本类型的重载 如果是基本类型的重载,实参的类型小于形参的类型,(例如:实参是整数型5,形参是double型),那么当传入实参后,会自动提升类型。反之,实参的类型大于形参的类型,那么就需要强制转换,否则编译器出错。2.构造器重载 构造器重载同普通方法重载并无差异。但在构造器中调用构造器就存在以下问题,如: class A { String s = new String();
A(int x) { System.out.println("A1"); } A(String s) { System.out.println("A2"); } A(String ss,int x) { this(x);//必须是置于最起始处 this(ss)//这样是错的 this.ss=s; System.out.println("A3"); }A(){ this("a",10);}
}
在上面的错误的地方表明:尽管可以用this调用一个构造器,但却不能调用两个,此外,必须将构造器调用置于最起始处,否则编译器会报错。除构造器之外,编译器禁止在其他任何方法中调用构造器。