Java学习笔记--interface定义接口

接口是比抽象类还抽象的”抽象类“,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离
接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范
从接口的实现者角度看,接口定义了可以向外部提供的服务
从接口的调用者角度看,接口定义了实现者能提供哪些服务
接口是两个模块之间通信的标准,通信的规范。如果能把要设计的模块之间的接口定义好,就相当于完成了系统的设计大纲,剩下的就是添砖加瓦的具体实现了。
接口和实现类不是父子关系,是实现规则的关系
面向对象的精髓,是对对象的抽象,最能体现这一点的就是接口

普通类:只有具体实现
抽象类:只有规范。自己无法写方法 专业的约束 约束和实现分离

接口技术规范。定义的是一组规则。
接口的本质是契约,就像我们人间的法律一样。指定好后大家都遵守
OO的精髓是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式只对具备了对象能力的语言(比如c++\java\c#等),就是因为设计模式所研究的,实际就是如何合理的去抽象
interface 定义的关键字,接口都需要有实现类

声明格式:[访问修饰符] interface 接口名 [extends 父接口1,父接口2]{
常量定义;
方法定义
}
定义接口的详细说明:
1.访问修饰符:只能说public或默认
2.接口名:和类名采用相同命名机制
3.extends:接口可以多继承
4.常量:接口中的属性只能是常量,总是:public static final修饰。不写也是
5.方法:接口中的方法只能是:public abstract。省略的话也是public abstract
要点:
1.子类通过implements来实现接口中的规范
2.接口不能创建实例,但是可用于声明引用变量类型
3.一个类实现了接口,必须实现接口中所有的方法,而且这些方法只能是public的
4.JDK1.7之前,接口中只能包含静态常量、抽象方法,不能有普通属性、构造方法、普通方法

接口也可以继承,而且可以多继承 比如C接口继承A,B接口 但是实施C接口的类要全部实施A、B接口

面向接口编程是面向对象编程的一部分
为什么需要面向接口编程?软件设计中最难处理的就是需求的的复杂变化。而接口就是规范,是项目中最稳定的东西。

接口作用
1.约束
2.定义一些方法,让不同的人实现
3.public abstract
4.public static final
5.接口不能被实例化 因为接口中没有构造方法
6.接口可以实现多继承 implements
7.实现接口时必须重写接口中的方法

类可以实现接口 implements 接口
实现了接口的类,就需要重写接口中的方法
多继承 利用接口实现多继承

package kuang.oop.Demo09;

public interface UserService {
    int AGE=99;     //是常量 public static final

    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
    
}
package kuang.oop.Demo09;
//抽象类:extends~
//类可以实现接口 implements  接口
//实现了接口的类,就需要重写接口中的方法
//多继承 利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override
    public void timer() {

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值