接口的定义与实现
1. 接口介绍
普通类:只有具体实现
抽象类:具体实现(普通方法)和规范(抽象方法)都有!
接口:只有规范!(比抽象类还要抽象)自己无法写方法专业的约束!约束和实现分离:面向接口编程
接口就是规范,定义的是一组规则,体现了现实世界中”如果你是...则必须能...”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。
接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
接口是面向对象的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。
2. 关键字(声明用interface/继承用implement(s))**
声明类的关键字是class,
声明接口的关键字是interface (新建一个类后把class改成关键字 interface)!!!!!
继承接口用的关键字是implement(s)
3. 抽象类/普通类/接口 在idea中的不同图标显示
4. 代码
UserService.java
package com.oop.demo11;
//把class改成关键字 interface ,接口都需要有实现类
public interface UserService {
//接口中的所有定义其实都是抽象的public abstract
// 如void run(String name); //接口默认就是 public abstract void run(String name);
//public abstract可写 可不写
//常量~ public static final
int AGE = 99; //接口默认就是public static final int AGE = 99;
//增删改查
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
TimeService.java
package com.oop.demo11;
//class改成interface
public interface TimeService {
void timer();
}
UserServiceImpl.java
package com.oop.demo11;
//抽象类 是子类通过extends去实现抽象类 有局限性 是单继承
//类通过关键字 implements 实现接口
//实现了接口的类,必须要重写接口的方法 通过快捷键Alt+Insert 点击implements 方法重写
//多继承~ 利用接口通过implements 可以实现多继承~ 用多个方法重写
public class UserServiceImpl implements UserService,TimeService { //implements +方法重写 实现多继承
@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() {
}
}
快捷键方法重写implements
按Alt+Insert 选择Implement Methods 方法重写
5. 总结接口作用**
接口作用:
1.约束
2.定义一些方法,让不同的人实现~
3.接口中的方法默认都是public abstract
4.接口中的常量默认都是public static final
5.接口不能被实例化~(跟抽象一样不能被new),接口中没有构造方法(都不是类哪来的构造方法)
6.关键字implements可以实现多个接口
7.必须重写接口中的方法
标签:name,void,接口,Day59,String,interface,public,定义 From: https://www.cnblogs.com/baixiaofan/p/17991401