接口、接口和抽象类的对比

接口

我们首先来看一些生活中有哪些接口:

电脑usb插口,u盘 这些都是接口

那么我们来看一下,什么是java中的接口;

java 中的接口

接口时抽象方法和常量的集合,在jdk1.8中接口可以有静态方法默认方法

接口的关键字: interface 

格式:

interface 接口名字{

  ........
}

我们来写一个案例:

public interface Animal {
// 常量
public static final int id=1;
// 抽象
public abstract void aa();
// 默认
public default void bb(){
System.out.println("");
}
// 静态
public static int getId(){
System.out.println("指代方法体");
return id;
}
}

静态方法中有 ,常量,抽象,默认,静态方法

我们在来创建一个实现类 实现它

public class DogImpl implements Animal{
@Override
public void aa() {
System.out.println("狗");
}

@Override
public void bb() {

}
}

写个测试类看一下:

public class Test {
public static void main(String[] args) {
DogImpl dog = new DogImpl();
dog.aa();
}
}

 

 

 

接口是一种特殊的抽象类,它不能包含普通方法

 

接口的特点

常量:默认接口中的所有成员变量都是省略 public static final 这几个关键字,一般接口的成员变量都大写的

抽象方法:默认接口中的所有成员方法都是省略 public abstract的

 

我们在来看一下什么时候使用接口

接口是用来规范类的

它可以避免类在设计上的不一致

这在多人合作的开发中犹为重要

 

接口时可以多继承的

 

 

 

类和接口的关系

类和类单继承不可以实现

类和接口:单继承,多实现

接口和接口:多继承,不可以多实现

继承和接口的使用场景

当我们设计一个非常复杂而又无法实现的类的时候可以使用继承

当我们重新开始编写一些简单的功能或者一些标准的时候可以使用接口

开发中一般使用面向接口编程,抽象类是模板,接口是规范

 

 

接口和抽象类的对比

比较点 抽象类 接口
定义 使用abstact关键字来修饰的类 使用interesting关键字来修饰
组成 抽象方法,普通方法,构造方法,成员变量,和常量  抽象方法,静态方法,jdk1.8注意
使用 子类继承extends 实现类实现implements
关系 抽象类可以实现接口 接口不能继承抽像类
对象 都是通过对象的多态实现的 都是通过对象的多态实现的
局限 不能多继承,不能实例化 可以多继承,不能实例化
选择 建议选择接口,不能实例化 建议选择接口,避免单继承
实际 模板 标准

 

posted @ 2022-06-19 13:35  一位程序袁  阅读(46)  评论(0编辑  收藏  举报