add logseq-java
This commit is contained in:
54
logseq-java/pages/接口.md
Normal file
54
logseq-java/pages/接口.md
Normal file
@@ -0,0 +1,54 @@
|
||||
- 也是一种抽象,比 [[抽象类]] 更抽象
|
||||
- 作用
|
||||
- 帮系统拓展新的功能
|
||||
- 定义语法
|
||||
- 使用[[关键字]][[interface]]
|
||||
id:: 625519bb-2a31-4f5a-aa30-0029cb6c9f32
|
||||
- 定义时可以不写 [[public]] [[abstract]],这两个是默认
|
||||
- ```java
|
||||
public interface 接口接口名{
|
||||
void fly();
|
||||
}
|
||||
```
|
||||
- 接口名使用 [[大驼峰]]
|
||||
- 接口不是一种类,还是一种 [[引用数据类型]]
|
||||
- 使用
|
||||
- [[关键字]][[implements]]
|
||||
- ```java
|
||||
访问修饰符 class 类的类名 extends 父类 implements 接口{
|
||||
@Override
|
||||
//重写接口的方法
|
||||
}
|
||||
```
|
||||
- 特点
|
||||
- 不能实例化,不能用[[new]]
|
||||
- 接口中抽象方法默认为public和abstract
|
||||
- 接口中抽象方法,必须要通过实现类给与实现
|
||||
- 接口中的抽象方法,实现类可以变成抽象类,就可以不实现
|
||||
- 类只能单[[继承]],接口可以多实现
|
||||
- 类只能单继承,接口可以多继承
|
||||
- 可放置的元素
|
||||
- 抽象方法
|
||||
- 静态常量
|
||||
- ```java
|
||||
public static final int HEIGHT_LIMIT = 3000;
|
||||
|
||||
//使用 接口.常量名
|
||||
```
|
||||
- JDK1.8之前只能放抽象方法及静态常量
|
||||
- JDK1.8增加[[default]], [[静态方法]]
|
||||
- ```java
|
||||
default void fly(){}
|
||||
static void cook(){
|
||||
System.out.println("做饭")
|
||||
}
|
||||
```
|
||||
- 接口与类关系
|
||||
- 接口与类是拓展关系,类之间是继承关系
|
||||
- 继承体系中本身就有的方法放在抽象类中,如果需要给继承体系拓展新的功能,就放在接口中
|
||||
- 接口与抽象类区别
|
||||
- 语法上:
|
||||
- 抽象类用 [[abstract]] ,需要有子类继承实现
|
||||
- 接口使用 [[interface]] ,需要有实现类来进行实现
|
||||
- 子类和抽象类为继承关系,实现类和接口时一种实现关系
|
||||
- 抽象类只能单继承,接口可以多继承,多实现
|
||||
Reference in New Issue
Block a user