创建一个接口
package com.encapsulation.Demo06;
// interface 定义的关键字, 接口都需要实现类
public interface StudentService {
// 常量 public static final 一般不会定义常量
int AGE = 99;
// 接口中的所有定义其实都是抽象的 public abstrct
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
创建第二个接口
package com.encapsulation.Demo06;
public interface TimeService {
void timer();
}
使用类实现这个接口
package com.encapsulation.Demo06;
// 实现类 通过 implements 接口实现
// 实现了接口的类,就需要重写接口中的方法
// 一个类可以实现多个接口
// 必须重新接口内所有的方法
public class StudentServiceImpl implements Student,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() {
System.out.println("我是一个timer方法");
}
}
执行
package com.encapsulation.Demo06;
public class App {
public static void main(String[] args) {
StudentImpl student = new StudentImpl();
student.timer(); // 结果: 我是一个timer方法
}
}
总结
- 约束
- 定义一些方法,让不同的人实现
- 方法类型: public abstract 抽象类
- 属性类型:public static final 常量
- 接口不能被实例化, 接口中没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法