初学Java,接口(十七)

Java的接口和C#一样,是interface关键字,但可以包含的成员不同

C# 的接口只能包含方法签名,Java的接口确可以包含属性(必须是常量),还可以在接口中定义内部接口

  1. packagetest;
  2. publicinterfaceA{
  3. publicvoidgetA()throwsAException;
  4. publicstaticinterfaceB{
  5. publicvoidgetB();
  6. }
  7. publicclassAExceptionextendsjava.lang.Exception{
  8. publicAException(Stringmsg){
  9. super(msg);
  10. }
  11. }
  12. }

Java中类继承或者叫实现一个接口关键字为implements 而C# 的继承始终都是:

  1. packagetest;
  2. publicclassImplAimplementsA{
  3. @Override
  4. publicvoidgetA()throwsA.AException{
  5. System.out.println("ImplementsAinterface");
  6. A.AExceptione=newA.AException("ThisisAException");
  7. throwe;
  8. }
  9. publicstaticclassImplBimplementsA.B{
  10. @Override
  11. publicvoidgetB(){
  12. System.out.println("ImplementsBinterface");
  13. }
  14. }
  15. publicstaticvoidmain(String[]arg){
  16. ImplAtestA=newImplA();
  17. try{
  18. testA.getA();
  19. }catch(A.AExceptione){
  20. e.printStackTrace();
  21. }
  22. A.BtestB=newImplA.ImplB();
  23. testB.getB();
  24. }
  25. }
注意下面这个写法

publicstaticclassImplBimplementsA.B

内部类实现接口的内部接口,感觉是不是挺怪的?反正C#没有这样的东西,注意到以上内部接口,内部类,都是静态的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值