码迷,mamicode.com
首页 > 编程语言 > 详细

Java技术_Java千百问(0038)_java中重载和覆盖有什么关系

时间:2016-04-29 19:59:44      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

点击进入_更多_Java千百问

1、什么是重载

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)

2、重载和覆盖(重写)的区别

了解覆盖看这里:java中覆盖是什么
了解继承看这里:java类的继承有什么意义
1. 覆盖必须继承,是针对父子类的;重载无需继承,是针对本类的。
2. 覆盖的方法名,参数完全一致;重载的方法名相同,参数列表不同。
3. 覆盖的方法修饰符大于等于父类的方法(例如不能把public修改为private),重载和修饰符无关。
了解修饰符看这里:public、privite、protected有什么区别
4. 覆盖不可以抛出父类没有抛出的一般异常,可以抛出运行时异常;重载方法可以抛出不同异常。

Java技术_Java千百问(0038)_java中重载和覆盖有什么关系

标签:

原文地址:http://blog.csdn.net/ooppookid/article/details/51225092

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!