Java面向对象16:接口的定义与实现

本文介绍了接口与抽象类的区别,强调了接口作为契约的重要性,并通过具体的Java代码示例展示了如何定义和实现接口,以及实现多个接口的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通类中的方法:只有具体实现

抽象类中的方法:具体实现和规范(抽象方法)都有

接口中的方法:只有规范

接口就是规范,定义的是一组规则,体现了现实世界中“如果你是……则必须能……”的思想。

如果你是天使,则必须能飞;如果你是汽车,则必须能跑。

接口的本质是契约,就像法律一样,制定好后大家都要遵守。核心思想是抽象

OOP 中 OO 的精髓是对对象的抽象,最能体现这一点的就是接口。为什么讨论设计模式都只针对具备了抽象能力的语言(比如 C++、java、C# 等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。

声明类的关键字是 class,声明接口的关键字是 interface

类只能单继承,但是可以实现多个接口

首先创建接口 UserService 和 TimeService

// interface 定义接口关键字
// 接口都需要有实现类
public interface UserService {
    
    // 接口中的所有定义的属性都是常量 public static final
    int AGE = 99;
    
    // 接口中的所有定义的方法其实都是抽象的 public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
    
}
public interface TimeService {
    void timer();
}

创建一个 UserServiceImpl 类声明 UserService 和 TimeService 接口

// 类可以实现接口 implements 接口
// 一个类可以实现多个接口
// 实现接口的类,必须要重写接口中的方法
public class UserServiceImpl implements UserService,TimeService {
    @Override
    public void add(String name) {}
    
    @Override
    public void delete(String name) {}
    
    @Override
    public void update(String name) {}
    
    @Override
    public void query(String name) {}
    
    @Override
    public void timer() {}
}

总结

        1、约束:如果实现一个接口,则必须实现(重写)接口中的方法

        2、接口的作用:是定义共通方法供不同的人实现。实现减少代码重复,提高代码性能

        3、声明的方法是 public abstract

        4、声明的属性是 public static final

        5、接口不能被实例化,接口不是类,所以没有构造方法

        6、一个类可以实现多个接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值