接口和父类具有同名属性、方法重载

来源:互联网 发布:免费sql数据库空间 编辑:程序博客网 时间:2024/05/29 12:07
import java.util.ArrayList;import java.util.List;/**1.当接口和父类中具有相同的属性名,而自己没有这个变量又需要使用时,需要指定具体使用父类中的成员变量还是接口中的成员变量 * 2.方法前面只考虑方法的名称、参数类型、参数个数、参数顺序, 不考虑方法的返回类型。 也就是说不能用返回类型来区分重载方法 * 3. 泛型作为方法的参数时,会进行类型的擦除。 例如 List<String> 和 List<Integer>对方法计算签名来说,其和List是一样的作用 * 4. 重载的两个方法参数一个类型父类类型,一个为子类类型, 则在方法调用时传入声明类型和实际类型都为子类类型的实参时,会抱编译错误, *    因为两个重载的方法都能匹配这个调用。 也就是说调用重载方法时,实参可以自动匹配形参为父类类型的方法。 * Created by liaoqianwen on 2016/7/6. */public class InterfaceExtendsTest {    public static void main(String[] args){        List list = new ArrayList<>();        ArrayList list2 = new ArrayList<>();        FanXingTest obj = new FanXingTest();        obj.func(list);//        obj.func(list2);      }}interface Jiekou{    static final int a =100;    public void func1();}class Class2 {    static final int a =1000;    static {        int c = 2;        bb =200;    }    static int b = 1;    static int bb =2;}class Class1 extends Class2 implements Jiekou{    public void func1(){        System.out.println(Class2.a);    }}// 泛型测试class FanXingTest{    public String func(List<String> list){        System.out.println("String");        return "liao";    }    public boolean func(ArrayList<Integer> list){        System.out.println("boolean");        return true;    }}

0 0