Java基础----面向对象编程OOP之八 接口

16.接口的定义与实现

  • 接口 Interface 的定义

    • interface 接口,是一个抽象类型,是抽象方法的集合

    • 接口以 interface 来声明

      [可见度] interface 接口名称 [extends 其他的接口名] {
              // 声明变量
              // 抽象方法
      }
      
  • 接口的特性

    • 接口中的方法都是隐式抽象方法,被隐式的指定为 public abstract
    • 接口中可以含有变量,但变量是隐式指定的 public static final 变量
    • 接口无法被实例化(不可对接口new对象!),但可以被实现 implements
    • 接口中的方法只能由实现接口的类来实现 implements,除非实现接口的类是抽象类,否则该类要定义接口中的所有方法
    • 接口没有构造方法
    • 接口支持多继承!!!
  • 普通类、抽象类与接口的区别

    • 普通类:只有具体实现(指用方法实现)
    • 抽象类:具体实现和规范(指抽象方法)都有
    • 接口:只有规范!自己无法实现~~用于专业的约束! 约束和实现分离==>面向接口编程!
  • 接口的本质

    • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想。比如:如果你是汽车,则必须能跑;如果你是鱼,则必须会游等等。定义一些方法,让不同的人实现,但实现方式是多样的!
    • 接口的本质是契约,就像我们人间的法律一样,制定好后大家都要遵守。
    • OO面向对象的精髓,是对对象的抽象,最能体现这一点的就是接口。
    //接口 使用interface关键字来定义
    //接口 都需要有实现类
    public interface UserService {
        //接口中的变量都是隐式public static final的常量
        int SERV_PER = 80;
        //接口中的方法定义都是隐式指定的public abstract方法
        void addUser(String username, String password);
        void deleteUser(String username);
        void updateUser(String username, String password);
        void queryUser(String username);
    }
    
    public interface TimeService {
        int STEP_TIME = 30;
        void timer(String time);
    }
    
    //类可以实现接口,使用implements关键字
    //多继承:类通过implements同时实现多个接口,实现多继承
    public class UserServiceImpl implements UserService,TimeService {
        //实现接口的类,需实现接口的所有方法,除非这个类是抽象类
        @Override
        public void addUser(String username, String password) {}
        @Override
        public void deleteUser(String username) {}
        @Override
        public void updateUser(String username, String password) {}
        @Override
        public void queryUser(String username) {}
        @Override
        public void timer(String time) {}
    }
    

    ------------------------------“笔记整理自跟着《狂神说Java》”----------------------------------​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值