java新手提问,望大家帮忙
java中的重载除了要求参数列表不一样以外,访问控制符和返回值类型有没有要求?
举个例子就是以下两个函数是不是属于重载?
public void amethod(int i){}
private int amethod(int i,int j){return 99;}
还有如果两个函数相同是不是意味着所有的标签元素(访问控制符 返回值类型 参数列表)都要一致?
小弟刚注册 , 分不多,给5分吧
------解决方案--------------------呃...你的例子属于重载...
两个函数相同是不是意味着所有的标签元素(访问控制符 返回值类型 参数列表)都要一致?
访问控制符不用一致...
返回值类型和参数列表要一致...
不一致就成为方法重载了...
小弟也是新手...如是理解...希望能帮到你..呵呵...
------解决方案--------------------二楼的有误导
这两个方法是不会重载的
访问控制符 返回值类型也不会导致重载
下面是例子
package overridetest;
/**
*
* @author zdjray
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
OverrideMethodChild overrideMethod = new OverrideMethodChild();
overrideMethod.test(1, "str ");
overrideMethod.test( "str ", 1);
}
}
package overridetest;
/**
*
* @author zdjray
*/
public class OverrideMethodBase {
public void test(int i, String str) {
System.out.println( "Base: " + i);
System.out.println( "Base: " + str);
}
}
package overridetest;
/**
*
* @author zdjray
*/
public class OverrideMethodChild extends OverrideMethodBase {
public void test(String str, int i) {
System.out.println( "Child: " + i);
System.out.println( "Child: " + str);
}
}