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();
}
}
输出:
子类重写了父类!
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();
}
}
输出:
子类重写了父类!
相关文章推荐
- java语言中方法重载overloading和方法重写(覆写)overriding的区别
- 简单的java实验,涉及到 类继承以及接口问题,方法体的重写(区别于重载)
- 专业做笔记24h之Java入门总结(方法重载与方法重写的区别)
- java中方法的重载与重写的区别
- Java中方法的重载与重写的区别
- java重载方法和重写方法之间的区别
- java重载与重写的区别+重写父类equals方法的完美实现
- java中方法的重写与重载的区别
- Java方法重载和方法重写的区别介绍
- java学习中重写与重载方法的区别(转自:小鸟的天空)
- JAVA方法重载与重写的区别
- java中方法的重载与重写的区别
- Java中方法重载和方法重写的区别
- Java 方法重写与重载的区别
- java中方法的重载与重写的区别
- Java中方法重载和方法重写的区别
- java学习中重写与重载方法的区别(转自:小鸟的天空)
- java———方法的重载与重写的区别
- Java--方法重写,重写(Override)与重载(Overload)区别
- java里面的方法重写和重载的区别