方法重载
方法名相同而参数不同就是方法重载。方法重载是以参数类型和个数区分的,而不是以返回值区分的。
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调用一个构造器,但却不能调用两个,此外,必须将构造器调用置于最起始处,否则编译器会报错。除构造器之外,编译器禁止在其他任何方法中调用构造器。