有如下程序: public class MethLoad { public static void main(String args[]) { MethLoad classObj=new MethLoa

admin2010-07-28  31

问题 有如下程序:    public class MethLoad    {       public static void main(String args[])       {          MethLoad classObj=new MethLoad();          classObj.methtest(4);          classObj.methtest(0);       }       void methtest(double d)       {          double sum=2*d;          System.out.println("The result  is:"+sum);       }       void methtest(int n)       {          int sum=4*n;          System.out.println("The result is:" +sum);       }    }程序的运行结果为(    )。

选项 A、The result is:16   The result is:0
B、The result is:0   The result is:16
C、The result is:8   The result is:0
D、The result is:0   The result is:8

答案1

解析 本题考查对方法重载的掌握程度。在上面的程序中,类MethLoad中定义了两个具有相同名称methtest的方法,但这两个方法的参数不相同,编译器会根据参数的个数和参数类型来决定应该调用哪个方法。在类MethLoad中先声明了一个classObi对象,接着调用classObj的methest方法,只不过是两次调用中参数的类型不同,第1次调用的参数是int类型的4,第2次调用的参数是 double类型的0,因此要调用相对应的方法。int类型的方法返回参数值的4倍,而 double类型的方法返回参数值的2倍。
转载请注明原文地址:https://kaotiyun.com/show/df9p777K
0

最新回复(0)