接口(interface)
一:概念
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口是抽象方法和常量的定义的集合。
从本质上讲接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
二:接口的声明
格式如下:
[可见度] interface 接口名称 [extends 其他的接口名] {
// 声明变量
// 抽象方法
}
三:接口的特点
- 用interface来定义
- 接口中的所有成员变量默认都是由 public static final修饰的。
- 接口中的所有方法默认都是由 public abstract修饰的。
- 接口没有构造器。
- 接口采用多层继承机制。
- 接口也可以继承其它接口。
四:接口应用实例

Cooking.java
接口
/*
* 厨艺接口
*
*/
public interface Cooking {
void fry(); // 炒菜
}
Singing.java
接口
/*
* 唱歌的接口
*/
public interface Singing {
void singing(); // 唱法
}
Person.java
抽象类
public abstract class Person
// 抽象类
{
int age;
String name;
String sex;
// 抽象方法
public abstract void ShowInfo();
}
SCTeacher.java
/*
* 描述会唱歌的厨子是一个老师的类
*/
//当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
//类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
public class SCTeacher extends Person implements Cooking, Singing
{
String course; // 老师教的科目
public void setInfo()
// 设置属性
{
super.name = "张三";
super.age = 18;
super.sex = "男";
this.course = "计算机科学与技术";
}
@Override
public void singing()
// singing接口的方法重写
{
System.out.println(super.name + "老师擅长美声唱法");
}
@Override
public void fry()
// cooking接口的方法重写
{
System.out.println(super.name + "老师是拿手的厨艺是做小龙虾!");
}
@Override
public void ShowInfo() {
System.out.println("会唱歌的厨子老师的信息是:");
System.out.println(super.name);
System.out.println(super.age);
System.out.println(super.sex);
System.out.println(this.course); // 本类属性用this
}
}
T1_interface.java
实例化
public class T1_interface {
public static void main(String[] args) {
SCTeacher tea = new SCTeacher(); // 实例化老师类
tea.setInfo(); // 设置老师信息
tea.ShowInfo(); // 打印老师信息
System.out.println("观看接口的方法实现:");
tea.fry();
tea.singing();
}
}
运行结果:
会唱歌的厨子老师的信息是:
张三
18
男
计算机科学与技术
观看接口的方法实现:
张三老师是拿手的厨艺是做小龙虾!
张三老师擅长美声唱法
五:总结
-
如果实现接口的类中没有实现接口中的全部方法,必须将此类定义为抽象
-
抽象类是对于一类事物的高度抽象,其中既有属性也有方法。接口是对方法的抽象,也就对一系列动作的抽象。
-
当需要对一类实物抽象的时候,也应该是使用抽象类,好形成一个父类。 当需要对一系列的动作抽象,就是用接口,需要使用这些动作的类去实现想要的接口即可。
-
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?