您的位置:首页 > 编程语言 > Java开发

java中方法重载和方法重写的区别

2017-05-15 21:58 344 查看
一、方法重载:

1.方法名相同

2.参数项不同

3.与访问修饰符和返回值无关

4.发生在同一个类中

例子:

/**

 * 方法重载例子

 */

public class Test {
public int a=0;
public int b=0;

public void play() {
System.out.println("a的值为:"+a);
}

public void play(int a) {
System.out.println("a的值为:"+a);
}

public void play(int a, int b) {
System.out.println("a的值为:"+a+",b的值为:"+b);
}
public static void main(String[] args) {
Test test = new Test();
test.play();
test.play(3);
test.play(5, 6);
}

}

输出:

a的值为:0

a的值为:3

a的值为:5,b的值为:6

二、方法重写:

1.发生在父类和子类之间

2.方法名相同

3.参数列表相同

4.返回值类型相同或者是其子类

5.访问权限不能严于父类

例子:

/**

 * 父类

 */

public class F {
public void play() {
System.out.println("这是父类!");
}

}

/**

 * 子类

 */

public class S extends F {

@Override
public void play() {
System.out.println("子类重写了父类!");
}

public static void main(String[] args) {

            S s = new S();

            s.play();
}

}

输出:

子类重写了父类!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息