方法重载

方法重载跟返回值类型和修饰符无关   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