方法重载就是在一个类中进行的行为,如下图出现两个add方法,都是进行加操作,只是参数个数不同,我们定义为add1和add2会增加我们的记忆和书写的困难,因此,采用重载方法可以让我们书写和记忆更加的方便。
重载要求方法名必须一样,但是形参类型或者个数必须不一样。
public class ChongZai {
public static int add1(int x,int y){
return x+y;
}
private static int add2(int x,int y,int z){
return x+y+z;
}
public static void main(String[] args) {
int sum1 = add1(1,2);
int sum2 = add2(1,2,3);
System.out.println(sum1);
System.out.println(sum2);
}
}
下面将采用重载的方式进行代码编写:
package chong;
public class ChongZai {
public static int add(int x,int y){
return x+y;
}
private static int add(int x,int y,int z){
return x+y+z;
}
public static void main(String[] args) {
int sum1 = add(1,2);
int sum2 = add(1,2,3);
System.out.println(sum1);
System.out.println(sum2);
}
}
两种方式输出结果一样,但是重载的方式代码更加简便高效。
方法重写
方法重写时java中子类和父类之间进行的操作,子类需要继承父类,然后重写父类中的方法。
父类Che中有一个car方法
public class Che {
public void car(){
System.out.println("一辆车");
}
}
子类JiaoChe中也有一个car方法
public class JiaoChe extends Che{
public void car(){
System.out.println("这是一辆轿车");
}
}
测试方法输出子类中的car方法
public class TestCar {
public static void main(String[] args) {
JiaoChe jc = new JiaoChe();
jc.car();
}
}
输出结果:
输出结果只会输出子类中car方法中的内容。
子类重写父类方法时,不能使用比父类中被重载方法更严格的访问权限。如父类中方法用public修饰,子类中也只能是public。
访问权限等级public>protected>default>public