接口

# 接口

 

## 规范

> 接口名用I开头
>
> 实现类的Impl结尾

## 接口:都共同遵循一个标准,一个规范,只要符合标准,符合规范的都叫接口。

##### 1.使用interface代替class进行定义

##### 2.所有属性都用public static final修饰{int NUM=0},所有方法都用public abstract修饰{void net();}

##### 3.所有方法都是用pubic修饰

##### 4.只定义标准,没有实现,只能定义方法,不能有方法体{};

##### 5.继承一个接口必须从写接口中的所有方法

 

## 从Java8开始有默认方法了

##### default关键字默认方法体,是未来接口处理兼容问题的关键字

##### static静态方法的默认方法体

> 在继承为 is a是不是
>
> 接口为has a能不能

## 接口的实现

### 1.一个类可以实现一个或者多个接口,实现接口通过implements进行修饰

~~~Java
public class Decotion implements Idao,Idemo {
@Override
public void connect() {

}
@Override
public void first();{

}
}
public interface Idao {
void connect();
}
public interface Idemo {
void first();
}

~~~

### 2.没有实现接口中全部抽象方法的时候需要定义此类为抽象类,此类的子函数如果不是抽象类必须重写父级函数没有重写的接口方法

~~~Java
public abstract class Decotion implements Idao {
@Override
public void connect() {

}

@Override
public void add11() {

}

@Override
public void delete1() {

}

@Override
public void insert1() {

}

}
public interface Idao {
void connect();
void add11();
void delete1();
void insert1();
void select1();
}
public class Orice extends Decotion {
@Override
public void connect() {
System.out.println("这是一个MySQL数据库");
}

@Override
public void select1() {

}
}

~~~

#### 接口与抽象类的区别

**抽象类**

- 定义抽象类的关键字是abstract class
- 继承抽象类的关键字是extends
- 抽象类支持单继承
- 抽象类中可以有构造方法,和方法的实现,和成员变量
- 可以定义非(static&final)的字段
- 抽象类通过子类来实现代码共享
- 抽象类中增加方法可以不影响子类

**接口**

- 定义接口的关键字是interface。
- 实现接口的关键字是implements。
- 实现接口可以多实现
- 接口中不可以有构造方法。只有抽象方法,和常量
- 接口中增加方法通常都影响子类。

- 一个类可以实现任意数量的接口,不管这些接口之间有没有什么联系。

- 从jdk1.8开始允许接口中出现非抽象方法,但需要使用default关键字修饰。

posted @ 2021-11-30 10:08  G5小聪  阅读(28)  评论(0)    收藏  举报