java接口的细节!

来源:互联网 发布:开店记账软件 编辑:程序博客网 时间:2024/06/03 17:45

29         // TODO Auto-generated method stub

  30         try {

  31             return Base64.decode(src);

  32         } catch (Base64DecodingException e) {

  33             // TODO Auto-generated catch block

  34             e.printStackTrace();

  35         }

  36         return null;

  37     }

  38

  39     @Override

  40     public double divide(int x, int y) {

  41         // TODO Auto-generated method stub

  42         return x/y;

  43     }

  44

  45     @Override

  46     public int get() {

  47         // TODO Auto-generated method stub

  48         return num;

  49     }

  50

  51     public void print() {

  52         System.out.println("The public key is: "+pub_key+"\nThe private key is: "+pri_key);

  53     }

  54

  55 }

  在这个类中,只有一个get方法实现了,同时也没有为有多个get要实现而冲突。同时,如果删除了接口InterfaceMultiInheritance.java中的get方法,也只有一个get方法得到了实现并且没有为多个get要实现而出现什么冲突。

  所以,我们可以得到一个结论,当编译器在实现接口的时候会依然检查接口InterfaceMultiInheritance.java、TestInterfaceA.java和TestInterfaceB.java中的方法声明,如果后两者有与前者相冲突的方法声明,编译器将只要求类实现前者的声明,而后两者中相同的方法声明将自动被忽略。而当只有后两者中有相同的方法声明时,编译器将实现其中的一个即可。就好像是编译器中有一个专门存储方法声明的Set一样,在有继承关系的接口中,只保存一次相同的方法声明。

0 0
原创粉丝点击