Java方法的重载和重写
2017-03-11 16:04
225 查看
重载
重载是指在同一个类中,存在方法名相同,参数列表不同的若干个方法。参数列表不同包括参数类型,参数个数和参数顺序;一定要注意方法的重载跟方法的返回值类型没有关系!!!
下面就各种情况举例说明:
a.上面代码中,方法1 和方法2,是参数的类型不同,所以构成方法重载,而方法1和方法6,参数列表相同,返回值类型不同,但是并不能构成方法重载。
b.方法2和方法3,因为参数个数不同,所以构成了方法的重载
c.方法4和方法5,因为参数顺序不同,也构成了方法的重载。
上述五个方法,在同一个类中,因为方法参数列表不同,因此他们构成了方法的重载。可以满足使用不同参数调用。
2. 重写
方法的重写是在子类继承父类的时候,父类中已有的方法,子类想改变具体方法的实现过程,自己重新改写方法体。返回值类型和参数列表都不能改变。
上述例子中,子类调用test方法时,将执行子类里的方法。抽象类中的抽象方法和接口中声明的抽象方法,都需要子类继承或实现的时候,在子类中重写。这些将在其他文章中介绍。
区分重载和重写,一定要记住重载是在同一个类中,重写是在超类与子类中。
重载是指在同一个类中,存在方法名相同,参数列表不同的若干个方法。参数列表不同包括参数类型,参数个数和参数顺序;一定要注意方法的重载跟方法的返回值类型没有关系!!!
下面就各种情况举例说明:
class MethodOverload{ /*方法1*/ int sum(int a, int b){ int result = a+b; return result; } /*方法2*/ double sum(double a, double b){ double result = a+b; return result; } /*方法3*/ double sum(double a, double b, double c){ double result = a+b+c; return result; } /*方法4*/ double sum(double a, int b){ double result = a+b; return result; } /*方法5*/ double sum(int a, double b){ double result = a+b; return result; } /*方法6 double sum(int a, int b){ double result = a+b; return result; } */ }
a.上面代码中,方法1 和方法2,是参数的类型不同,所以构成方法重载,而方法1和方法6,参数列表相同,返回值类型不同,但是并不能构成方法重载。
b.方法2和方法3,因为参数个数不同,所以构成了方法的重载
c.方法4和方法5,因为参数顺序不同,也构成了方法的重载。
上述五个方法,在同一个类中,因为方法参数列表不同,因此他们构成了方法的重载。可以满足使用不同参数调用。
2. 重写
方法的重写是在子类继承父类的时候,父类中已有的方法,子类想改变具体方法的实现过程,自己重新改写方法体。返回值类型和参数列表都不能改变。
class MethodOverride{ void test(int a, int b){ int c = a + b; System.out.println(c); } } class SubMethodOverride{ void test(int a, int b){ int c = a*b; System.out.println(c); } }
上述例子中,子类调用test方法时,将执行子类里的方法。抽象类中的抽象方法和接口中声明的抽象方法,都需要子类继承或实现的时候,在子类中重写。这些将在其他文章中介绍。
区分重载和重写,一定要记住重载是在同一个类中,重写是在超类与子类中。
相关文章推荐
- java中方法的重载与重写的区别
- java学习笔记九——构造函数、方法重写、重载
- java方法重写与重载
- java语言中方法重载overloading和方法重写(覆写)overriding的区别
- java中方法的重载与重写的区别
- java中方法的重载与重写的区别
- JAVA方法重载和方法重写
- Java 方法的重写与重载
- java方法的重载,重写,super,this,final关键字
- java中方法的重载与重写的区别
- JAVA方法重载与重写的区别
- 全新java初学者实践教程15(java SE5.0版)--jdk5中方法的重载与重写
- JAVA 方法的重写和重载
- Java里方法的重载与重写
- JAVA 方法重载,方法重写,继承
- Java中的重载方法与重写
- java方法的重载(Overload)与重写(Override)
- java方法的重载(Overload)与重写(Override)
- 黑马程序员-----java基础五(方法的重载与重写)
- java中方法的重写和重载分析