重载:这里定义三个方法,分别是参数不同或者返回值不同
public void test1() {
System.out.println("方法重载--aa");
}
public void test1(String name){
System.out.println("方法重载--bb");
}
public Integer test1(String name ,Integer num) {
System.out.println("方法重载--cc");
return null;
}
这里写一个测试类
public static void main(String[] args) throws Exception {
//一般用new来创建对象,这里是测试
//使用反射获取对象
Class<?> forName = Class.forName("com.mianshi.demo1.Demo1");
//创建反射对象
Demo1 demo1 = (Demo1) forName.newInstance();
demo1.test1();
demo1.test1("小明");
demo1.test1("1",2);
}
得出结果:
方法重载--aa
方法重载--bb
方法重载--cc
所以这里就发生了重载,也就是方法各执行各的
重写:发生在多个类中,子类重写父类方法必须保证与父类方法完全一致,子类重写父类方法是对方法的延伸
父类:Demo3
public class Demo3 {
public void test1(int i) {
System.out.println("我是父类");
}
}
子类:Demo4
public class Demo4 extends Demo3{
@Override
public void test1(int i) {
super.test1(i);
}
}