接口重名方法

实现类要满足方法重载的基本原则:1 方法名相同 2 参数列表不同

两个接口中抽象方法重名

1 参数列表+返回值 都相同:实现类只要实现一次此方法即可

2 参数列表相同+返回值不同:实现类无法直接实现两个方法(IDE报错),因为不满足方法重载原则

3 参数列表不相同:实现类可以分别实现两个方法,可以方法重载

 

两个接口中默认方法重名

则IDE会提示重写只能其中一个接口的方法,重写后只能调用重写方法,无法直接调用接口中原方法。

若有需要,将接口中的重名默认方法,放到实现类的两个不同方法中

    @Override
	public void run1() {
		// a接口run1()
		a.super.run1();
	}

	public void runb() {
		// b接口run1()
		b.super.run1();
	}

两个接口中静态方法重名

无论有无重名,都不能通过实现类的类名直接调用接口中的静态方法

例如:C类 实现接口 a,a中有 static void run();

不能C.run()。只能a.run();

实现类处理a,b接口重名静态方法

    public void runas() {
        //a接口 静态方法
		a.r();
	}
	
	
	public void runbs() {
        //b接口 静态方法
		b.r();
	}

 

posted @ 2018-09-16 12:24  sw008  阅读(505)  评论(0编辑  收藏  举报