普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,自己无法写方法,专业的约束
接口定义:接口就是规范,定义的是一组规则,体现了现实世界中的一种约束框架的思想,其本质是契约,就像法律规定了人的行为一样
使用关键字interface声明
接口1
package nozzle;
//interface关键字,定义接口,接口都需要有实现类
public interface UserService {
//接口中的所有定义其实都是抽象的
void add(String name);
void delte(String name);
void updata(String name);
void dowm(String name);
}
//接口2
package nozzle;
public interface TimeService {
void timer(String name);
}
//实现接口的类
package nozzle;
//类,可以实现多继承
public class UserServiceImpl implements UserService,TimeService{
@Override
public void add(String name) {
}
@Override
public void delte(String name) {
}
@Override
public void updata(String name) {
}
@Override
public void dowm(String name) {
}
@Override
public void timer(String name) {
}
}
接口的作用
-
约束
-
定义一些方法
-
接口不能被实列化,接口中没有构造方法
-
implements可以实现多个接口
-
必须要重写接口中的方法
抽象的类和接口的对比
1.语法结构
(1)abstract抽象类
public abstract class Action{
public abstract void run();
}
实现类
public class A extends Action{
@Override
public void run(){
...
}
}
(2)接口
public interface Action{
void run();
}
实现类
public class ActionImpl implements Action{
@Override
public void run(){
}
}
2.关于继承
抽象类只能使用abstract关键字在class中定义,子类只能由extends继承一个抽象类。接口由interface关键字定义,实现子类可以同时继承多个接口。