方法重载和Java中的方法隐藏有什么区别?
方法隐藏-当超类和子类包含相同的方法(包括参数),并且它们是静态的,并且在调用时,超类方法被子类的方法隐藏时,这称为方法隐藏。
示例
class Demo{
public static void demoMethod() {
System.out.println("method of super class");
}
}
public class Sample extends Demo{
public static void demoMethod() {
System.out.println("method of sub class");
}
public static void main(String args[] ){
Sample.demoMethod();
}
}输出结果
method of sub class
方法重载-当一个类包含两个具有相同名称和不同参数的方法时,JVM在调用时会根据方法参数执行此方法,这称为方法重载。
示例
public class Sample{
public static void add(int a, int b){
System.out.println(a+b);
}
public static void add(int a, int b, int c){
System.out.println(a+b+c);
}
public static void main(String args[]){
Sample obj = new Sample();
obj.add(20, 40);
obj.add(40, 50, 60);
}
}输出结果
60 150