方法重载跟返回值类型和修饰符无关 Java的重载 是发生在本类中的,重载的条件是在本类中有多个方法名相同,但参数列表不同(可能是,参数个数不同,参数类型不同),跟返回值无关。 举个例子,假如我们在同一个类中,写了两个方法名相同并且参数列表也相同,只是返回值不同,public Stringshow(int number) public int show(int number) 而我们调用这个方法给它赋值的时候java虚拟机并不知道你要赋给的是String型的方法还是int型的方法,所以重载跟返回值无关。
接口可以继承接口
java类可以实现多个接口,多继承在这里体现
package test;
import java.lang.reflect.Method;
public class OverLoad {
public int load(int i,String j){
return 0;
}
public int load(String i,int j){
return 0;
}
//重载跟返回值无关,下面的定义会导致编译不通过
// public String load(String i,int j){
//
// }
public static void main(String args[]){
StringBuffer sb = new StringBuffer();
sb.append(false);
try {
Class c = Class.forName("java.lang.String");
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].getName().toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}
interface D{
}
interface C extends D{
void add();
}
// 实现多个接口
abstract class A implements C,D{
abstract public void aa();
}
abstract class B extends A{
public void getN(){
}
}
方法重载
猜你喜欢
转载自zengshaotao.iteye.com/blog/1833186
今日推荐
周排行