标签:
java的重载,简单说,就是方法有同样的名称,但是参数不相同。这样的同名不同参数的方法之间,互相称之为重载方法。
需要注意的是:
1. 方法名相同。
2. 参数不同,这里是说对应位置的参数类型至少有一个不同,当然List和List都是List,算作相同。
3. 返回值可以不同,可以相同。
例子:
“`
public class Test{
public void a() {
System.out.println(“a()”);
};
public void a(int i) {
System.out.println("a(int i)");
};
public void a(String j) {
System.out.println("a(String j)");
};
public void a(int i, String j) {
System.out.println("a(int i, String j)");
}
public String a(String j, int i) {
System.out.println("a(String j, int i)");
return j;
}
}
public class TestMain{
public static void main(String args[]){
Test test = new Test();
test.a();
test.a(1);
test.a(“1”);
test.a(1, “1”);
test.a(“1”, 1);
}
}
“
运行后产生以下结果:
a()
a(int i)
a(String j)
a(int i, String j)
a(String j, int i)
了解覆盖看这里:java中覆盖是什么
了解继承看这里:java类的继承有什么意义
1. 覆盖必须继承,是针对父子类的;重载无需继承,是针对本类的。
2. 覆盖的方法名,参数完全一致;重载的方法名相同,参数列表不同。
3. 覆盖的方法修饰符大于等于父类的方法(例如不能把public修改为private),重载和修饰符无关。
了解修饰符看这里:public、privite、protected有什么区别
4. 覆盖不可以抛出父类没有抛出的一般异常,可以抛出运行时异常;重载方法可以抛出不同异常。
Java技术_Java千百问(0038)_java中重载和覆盖有什么关系
标签:
原文地址:http://blog.csdn.net/ooppookid/article/details/51225092