重载就是一个概念,发生在一个类里面,构成重载的要素是形参类型、形参顺序和形参数目不同,重载主要是为了更加灵活的调用同一个类别的方法,而又不用起多个方法名,像常用的PrintlnStream类里的println()方法就是一个重载的方法,下面是一个简单的重载
public class Overload {
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1,1.1));
}
static int add(int a,int b) {
int sum = 0;
sum = a+b;
return sum;
}
static int add(int a,int b,int c) {
int sum = 0;
sum = a+b+c;
return sum;
}
static double add(int a,double b) {
double sum = 0;
sum = a+b;
return sum;
}
}
结果: 3 6 2.1
重写是发生在子类与父类之间的,一般是子类对父类的方法进行重写,但要注意方法名和形参列表相同,子类重写的方法的返回值类型和声明异常类型要小于等于父类的方法,访问权限要大于等于父类的方法,如下简单的重写代码
public class Override {
public static void main(String[] args) {
Horse h = new Horse();
h.run();
h.now();
h.stop();
}
}
class Vehicle{
void run() {
System.out.println("跑......");
}
void now() {
System.out.println("我在快速移动。");
}
Person stop() {
System.out.println("停!");
return new Person();
}
}
class Horse extends Vehicle{
void now() {
System.out.println("我在骑马");
}
public Student stop() {
System.out.println("停下。。。。");
return new Student();
}
}
结果:
跑......
我在骑马
停下。。。。