首页 > 其他分享 >接口的定义和实现

接口的定义和实现

时间:2024-01-13 22:45:13浏览次数:31  
标签:name 实现 void 接口 String oop public 定义

概念

普通类:只有具体实现

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

接口:只有规范!自己无法写方法,专业的约束!约束和实现分离:面向接口编程。

接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。

接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。

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

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

作用

  1. 约束

  2. 定义一些方法,让不同的人实现 10 ---> 1

  3. public abstract

  4. public static final

  5. 接口不能被实例化,接口中没有构造方法

  6. implements可以实现多个接口

  7. 必须要重写接口中的方法

例子

灰色字体代表可写可不写(默认属性)

 

 

接口必须全部实现,否则会报错

 

 

快捷键

alt+enter后选择第一个

 

点击OK

 

方法全部重写

 

//Java-零基础学习/src/oop/demo09/UserService
package oop.demo09;

//抽象的思维 Java 架构师

//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);
}
//Java-零基础学习/src/oop/demo09/TimeService
package oop.demo09;

public interface TimeService {
   void timer();
}
//Java-零基础学习/src/oop/demo09/UserServiceImpl
package oop.demo09;

//抽象类:extends
//类 可以实现接口 implements 接口
//实现了接口的类,就需要重写接口中的方法

import java.sql.Time;

//多继承:利用接口实现多继承
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() {

  }
}
 

标签:name,实现,void,接口,String,oop,public,定义
From: https://www.cnblogs.com/poiuyjoey/p/17963140

相关文章

  • 使用Service CRUD接口
    使用ServiceCRUD接口1.在service接口中继承IServiceimportcom.baomidou.mybatisplus.extension.service.IService;importcom.xianhuo.xianhuobackend.entity.*;publicinterfaceProductServiceextendsIService<Product>{}IService,T为实体类2.在service接口的实......
  • .Net Core 系列: 集成 Consul 实现 服务注册与健康检查
    目录什么是Consul?安装和运行ConsulAsp.NetCore如何集成Consul实现服务注册和健康检查Consul.AspNetCore中的AddConsul和AddConsulServiceRegistration方法究竟做了什么?AddConsul方法AddConsulServiceRegistration方法配置Consul检查服务封装成扩......
  • 回顾方法的定义
    概述方法的定义修饰符返回类型break:跳出switch,结束循环和return的区别方法名:注意规范就OK见名知意参数列表:(参数类型,参数名)...异常抛出:疑问,后面讲解代码//Java-零基础学习/src/oop/demo01/Demo01packageoop;​importjava.io.IOException;​//Demo01类......
  • C++实现文件内查找字符串
    实现概要:读取放入buf后查找匹配的第一个字符然后使用seek()移动文件指针,peek()查看剩余的字符是否匹配如果剩余的字符匹配把该字符串在文件中的位置push进一个vector<int>中再继续查看剩余的文件内容//str2.cpp--capacity()andreserve()#include<iostream>......
  • 哲学思考:见识、思考、实现
    哲学思考:见识、思考、实现    见识,了解自己认知以外的人、事、物、想法等,增加自己认知的广度和深度。思考,依据见识来制定、修改自己的目标,构建实现目标的途径。实现,将目标投射到现实,即在客观世界中实现自己的目标。  见识,扩展认知的广度和深度;思考,制定和修......
  • 类模板实现简单的数组
    //Myarray.hpp#pragmaoncetemplate<classT>classMyArray{public: MyArray(intcapacity){ this->mCapacity=capacity; this->msize=0; this->p=newT[this->mCapacity]; } //copy MyArray(constMyArray&arr){ this->......
  • SpringBoot集成Jackson实现JSON序列化
    一、前言Jackson是一个在Java中常用的JSON序列化和反序列化库,它具有操作简单、性能优秀、支持多种数据格式等特点,被广泛应用于各种服务端开发中。SpringMVC框架的默认json解析器也是Jackson。当前常见的json解析器还有Gson、fastjson等,jackson的优势是解析大的json文件处理速度快,运......
  • 基于VueCli自定义创建项目
    前面学习的一些router封装,相关文件夹的创建,现在可以通过脚手架自动创建,简化了很多步骤1,使用shell命令选择项目目录vuecreatexx-project步骤2,  步骤3  路由模式默认是hash模式,history模式需要服务器端相关配置支持,这里选n,后面有需要可以在配置文件改......
  • 单例模式(Singleton)的6种实现
    单例模式(Singleton)的6种实现 1.1.1摘要      在我们日常的工作中经常需要在应用程序中保持一个唯一的实例,如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要介绍的——单例模式(Singl......
  • .NET中的加密算法总结(自定义加密Helper类续)
    .NET中的加密算法总结(自定义加密Helper类续) 1.1.1摘要       相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等)。我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很......