概述
场景描述:
一个类实现两个接口,这两个接口里面都有一个相同方法名的方法,那么该类在引用这个方法的时候,具体是是引用的那个呢?
目录
场景描述:
1、如果该类自己也有一个同名的方法
2.如果该类没有实现这个方法
2.1 如果这些接口之间没有继承关系
2.2 如果这些接口有继承关系
1、如果该类自己也有一个同名的方法
那么毫无疑问,这个调用方法,是它自己的。
public interface Animal {
public void run();
default void print(){
System.out.println("Animal print");
}
}
public interface Animal2 {
public void run();
default void print(){
System.out.println("Animal2 print");
}
}
public class Person implements Animal ,Animal2 {
@Override
public void run() {
System.out.println("this is person run");
}
@Override
public void print() {
System.out.println("this is person print");
}
public static void main(String[] args) {
Person person= new Person();
person.run();
person.print();
}
}
this is person run
this is person print
Process finished with exit code 0
2.如果该类没有实现这个方法
那么就要有区分了:
2.1 如果这些接口之间没有继承关系
系统会提示报错,提示需要强制实现此方法.
2.2 如果这些接口有继承关系
那么就会,调用子接口的方法,如下案例:
public interface Animal {
public void run();
default void print(){
System.out.println("Animal print");
}
}
public interface Animal2 extends Animal{
public void run();
default void print(){
System.out.println("Animal2 print");
}
}
public class Person implements Animal ,Animal2 {
@Override
public void run() {
System.out.println("this is person run");
}
public static void main(String[] args) {
Person person= new Person();
person.run();
person.print();
}
}
结果:
this is person run
Animal2 print
Process finished with exit code 0
最后
以上就是醉熏小鸭子为你收集整理的java一个类实现多个接口,这些接口具有相同的default方法的场景的全部内容,希望文章能够帮你解决java一个类实现多个接口,这些接口具有相同的default方法的场景所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复