区别
重写
在子类中定义某方法与其父类有相同的名称和参数,则定义该方法被重写
注意:子类函数的访问修饰权限不能少于父类的
具体代码实现说明:
public class SuperClass {
public void say(){
System.out.println("Hello");
}
}
public class SubClass extends SuperClass{
@Override
public void say() {
//实现父类
super.say();
System.out.println("Hello by");
}
public static void main(String[] args) {
SubClass subClass = new SubClass();
subClass.say();
}
}
结果:
重载
在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同、参数顺序不同),则定义为重载
public class Test {
//基本的
public void say(String name, int deposit){
System.out.println("欢迎:"+name+",存款:"+deposit);
}
//参数类型不同
public void say(String name, float deposit){
System.out.println("欢迎:"+name+",存款:"+deposit);
}
//参数个数不同
public void say(String name){
System.out.println("欢迎:"+name);
}
//参数顺序不同
public void say(int deposit, String name){
System.out.println("欢迎:"+name+",存款:"+deposit);
}
public static void main(String[] args) {
Test superClass = new Test();
superClass.say("张三",150);
superClass.say("张三",185.6f);
superClass.say("张三");
superClass.say(180,"张三");
}
}
结果: