💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] 类:一堆具有共同成员变量/属性和方法/功能对象的集合 ## **接口** ### **接口的概念:** * 接口是功能的集合.就是方法的集合 也就是说,接口中只能定义方法,不能定义普通的成员变量 * 接口中的成员方法,必须都是抽象的 * 接口是比抽象类还要抽象的一种类型 问题: 接口能创建对象吗? 不能 接口有什么用? 天生作为'父接口' ### **接口的定义** * 定义接口关键字:class * 定义抽象类关键字 abstract class * 定义接口关键字 interface * 定义枚举关键字 enum ### **格式** ``` public interface 接口名字{ //成员变量,不能定义普通的成员变量 //成员方法,必须是抽象的 public abstarct 返回值类型 方法名(); //类和接口的本质区别并不大,他们的源码都是.Java文件 //编译后都是.class 文件 } ``` 各种类型之间的关系: * a,类与类之间:继承,而且是单继承,一个子类只能有一个父类 * b,接口与接口之间,继承,但是可以多继承,一个子接口可以有多个直接父接口 * c,类和接口之间 不叫继承,叫实现 只有类实现接口 **Java题:Java到底支不支持多继承** ``` 如果是类与类,不支持多继承,只支持多层继承 如果是接口与接口 支持多继承 也支持多层继承 ``` 实现:implements和继承差不多,实现把接口中的抽象方法都拿过来 ## **接口中成员的特点:** 1.接口中可定义变量 但是修饰符必须是,public static final 数据类型 变量 = 值 固定修饰符可以省略,编译器自动添加 2.接口中科院定义方法.抽象方法 3,接口不可以创建对象(抽象类也是) 4,实现类必须覆盖接口中所有抽象方法后,然后才能创建对象,否则这个实现类还是一个抽象类,是不能创建对象的 ### **在开发中最常用的模式** 一个类继承一个抽象类,同时实现多个接口: ``` public class A extends Abstract implements 接口A,接口B{ } ``` ### **接口特点:** * 接口可继承接口 如同类的继承 * Java支持一个类实现多个接口 * 类继承一个抽象类,同时实现多个接口 * 接口与父类的功能可以重复,均代表某种功能,并不冲突