接口---注意事项

接口—注意事项

  1. 注意事项

    • Zi类

      package cn.xiaoge.day10.demo02;
      
      public class Zi extends Fu implements MyInterface {
      }
      
      
    • Fu类

      package cn.xiaoge.day10.demo02;
      
      public class Fu {
      
          public void method() {
              
              System.out.println("父类的方法");
          }
      
      }
      
    • 接口MyInterface

      package cn.xiaoge.day10.demo02;
      
      public interface MyInterface {
      
          public default void method() {
              System.out.println("接口口的默认方法");
          }
      
      }
      
    • 执行路口

      package cn.xiaoge.day10.demo02;
      
      /*
      使用接口的时候, 需要注意:
      
      1. 接口是没有静态代码块或者构造方法的.
      2. 一个类的直接父类是唯一的, 但是一个类可以同时实现多个接口.
      格式:
      public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB{
          // 覆盖重写所有抽象方法
      }
      3. 如果实现类所实现的多个接口中, 存在重复的抽象方法, 那么只需要覆盖重写一次即可.
      4. 如果实现类没有覆盖重写所有接口当中的所有抽象方法, 那么实现类就必须是一个抽象类.
      5. 如果实现类所实现的多个接口当中, 存在重复的默认方法, 那么实现类一定要对冲突的默认方法进行覆盖重写.
      6. 一个类如果直接父类当中的方法, 和接口当中的方法, 产生了冲突, 优先用父类当中的方法.
       */
      
      public class Demo01Interface {
      
          public static void main(String[] args) {
              Zi zi = new Zi();
              zi.method(); // 父类的方法
          }
      
      }
      
      // 运行结果
      父类的方法
      
    1. 接口多继承

      • 接口MyInterfaceA

        package cn.xiaoge.day10.demo02;
        
        public interface MyInterfaceA {
        
            // 错误写法! 接口不能有静态代码块
            // static {
            // }
        
            // 错误写法! 接口不能有构造方法
            // public MyInterfaceA(){
            // }
        
            public abstract void methodA();
        
            public abstract void methodAbs();
        
            public default void methodDefault() {
                System.out.println("AAA");
            }
        
        
        }
        
      • 接口MyInterfaceB

        package cn.xiaoge.day10.demo02;
        
        public interface MyInterfaceB {
        
            // 错误写法! 接口不能有静态代码块
            // static {
            // }
        
            // 错误写法! 接口不能有构造方法
            // public MyInterfaceA(){
            // }
        
            public abstract void methodB();
        
            public abstract void methodAbs();
        
            public default void methodDefault() {
                System.out.println("BBB");
            }
        
        }
        
      • 接口MyinterfaceAbstract

        package cn.xiaoge.day10.demo02;
        
        public abstract class MyinterfaceAbstract implements MyInterfaceA, MyInterfaceB {
        
        
            @Override
            public void methodA() {
        
            }
        
            @Override
            public void methodAbs() {
        
            }
        
            @Override
            public void methodDefault() {
        
            }
        }
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

只因为你温柔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值