【发布时间】:2016-12-22 09:24:08
【问题描述】:
因为我发现了很多关于方法重载的例子和结论,但我仍然对我们如何使用它感到困惑。
首先,方法重载是类级别的活动,这意味着在该类中,我们正在重载具有相同名称但参数不同的方法,例如
void sum(int a,int b){System.out.println(a+b);}
void sum(double a,double b){System.out.println(a+b);}
在我们像
这样调用这个方法之后public static void main(String args[]){
ClassName obj=new ClassName ();
obj.sum(10.5,10.5);
obj.sum(20,20);
}
假设我将采用两个单独的方法来代替这个,例如
void method1(int a,int b){System.out.println(a+b);}
void method2(double a,double b){System.out.println(a+b);}
我将这两种方法称为与上面相同的方法
public static void main(String args[]){
ClassName obj=new ClassName ();
obj.method1(20,20);
obj.method2(10.5,10.5);
}
在这两种方法的情况下,活动都是相同的,那么在这种情况下重载/多态的确切需求是什么。
在某处我发现方法重载增加了程序的可读性任何人都可以指定仅因为这一行我们正在使用方法重载。
谢谢。
【问题讨论】:
-
必须添加这样的数字后缀会破坏抽象。您希望方法名称描述该方法的作用,而不是由于技术限制而命名。
标签: java overloading