解决Java接口中多重继承中名字冲突的问题

解决接口多重继承中名字冲突的问题

子接口继承父接口的情况下(类实现多个接口的情况与此类似)

  1. 父子接口有相同名称的常量或方法时,子接口覆盖父接口;
  2. 在多个父接口中存在同名的方法时,此时子接口可以委托其中一个父接口的方法加 以解决。
 class SubClass extentds ParentClass implements Interface1,Interfac2{} 

如果子类从父类和接口中继承了同名的方法,继承采取类优先接口的原则。
示例

package ch08; 
interface Face1{  
	final static double PI=3.14;  
	public default double area(int r){ //与Face2同名的方法   
		return r*r*PI;  
	}  
	abstract double volume(int r,double h); 
} 
interface Face2{  
	final static double PI=3.1415926;  
	public default double area(int length){ //与Face1同名的方法   
		return length*length;  
	} 
}
public class Demo implements Face1,Face2{  
	public double area(int r){   
		return Face2.super.area(r);  //委托调用父接口Face2的area方法  
	}  
	public double volume(int r,double h){   
		return area(r)*h;  
	}  
	public static void main(String[] args){   
		Demo ap=new Demo();   
		System.out.println("PI=");  //这里应该怎样调取PI 的值?   
		System.out.println("柱体体积为:"+ap.volume(1,2.0));  
	} 
} 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值