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
广告