首页 > 试题广场 >

指出以下程序的输出或错误。 public class Te

[问答题]
指出以下程序的输出或错误。
public class Test{
    public static void main(String[] args){
    }
    public void method(int a){
    }
    public void method(int b){
    }
    public void method(long b){
    }
    public void method(int a,int b){
    }
    public void method(int a,char b){
    }
}

这个是考查方法重写与方法重载的区别吧。方法重写是发生在继承的时候,这里都是在一个Test类里的,是方法重载。而方法重载的要求是方法名称相同,参数列表不同(可以是参数的类型、个数、顺序不同)。

出错信息:Duplicate method method(int) in type Test
发表于 2017-07-28 21:49:00 回复(0)
参数虽然名字不同但类型相同,会被视为同一方法,而不重写
发表于 2020-03-05 22:42:17 回复(0)
publicvoidmethod(inta){
    }
publicvoidmethod(intb){
    }
不属于方法重载,重名方法报错

发表于 2017-08-01 15:11:23 回复(0)
    publicvoidmethod(inta){
    }
    publicvoidmethod(intb){
    }
   
方法重载不以返回值类型为判断,重载通过不同的方法参数来区分,如不同的参数个数,不同的参数类型,不同的参数顺序;这2个方法错误。
       publicvoidmethod(longb){
    }
   publicvoidmethod(inta,intb){
    }
    publicvoidmethod(inta,charb){
    }
这3个重载正确。
发表于 2017-07-30 11:58:47 回复(0)