首页 > 其他分享 >接口的详解 :接口 对象=new 实现类

接口的详解 :接口 对象=new 实现类

时间:2024-03-10 22:23:36浏览次数:21  
标签:peopleList 子类 void 接口 详解 animal new

首先 接口是一个特殊的抽象类 既然是类就会创建对象 

接口是为了实现多态

接口是为了实现多态。

接口是为了实现多态。

接口回调:

interface People{
   void peopleList();
}
class Student implements People{
    public void peopleList(){
        System.out.println("I’m a student.");
    }
}
class Teacher implements People{
    public void peopleList(){
        System.out.println("I’m a teacher.");
    }	
}
public class Example{
    public static void main(String args[]){
    People a;             //声明接口变量
    a=new Student();      //实例化,接口变量中存放对象的引用
    a.peopleList();        //接口回调
    a=new Teacher();     //实例化,接口变量中存放对象的引用
    a.peopleList();       //接口回调
    }
}
结果:
I’m a student.
I’m a teacher.
 
例子参考:https://zhidao.baidu.com/question/1923748969384870227.html

  

  • 情况1:子类有该同名函数,父类没有,会报错

  • 情况2:子类没有该同名函数,父类有该函数,会按照父类的函数执行。

  • 情况3:子类和父类都有该同名函数,会按照子类的函数情况来。

自己把这篇文章归纳总结如下:
定义一个animal抽象类, 里面有两个方法。
接下里定义两个类(cat和dog)去继承animal,
cat和dog分别重写了animal中的方法。

我们在调用dog里面的方法之后,
想修改为调用cat的方法。 ----
只需要将Animal animal=new Dog()改成Animal
animal=new Catl(), 只改变了一个对象。
接着继续调用animal.sing(),animal.run()。
实际的开发过程中要维护大量的代码量,
如果要换一个对象,改的代码更少。

标签:peopleList,子类,void,接口,详解,animal,new
From: https://www.cnblogs.com/lllusionary/p/18064987

相关文章

  • Session详解
    一、什么是sessionsession在网络应用中称为“会话控制”,是服务器为了保存用户状态而创建的一个特殊的对象。简而言之,session就是一个对象,用于存储信息。二、session有什么用我们先来想一个问题,这个问题就是我们在游览购物网站时,我们并没有登录,但是我们任然可以......
  • 深度学习-卷积神经网络-目标检测YOLO-v1详解-54
    目录1.结构3.总结3.训练样本的构造4.损失函数5.训练6.推理6.小结参考:https://www.zhihu.com/tardis/zm/art/46691043?source_id=1005输入一张图片,要求输出其中所包含的对象,以及每个对象的位置(包含该对象的矩形框)RCNN开创性的提出了候选区(RegionProposals)的方法,先从......
  • python 新版本flask创建接口方式
    importpymysqlfrompymysql.cursorsimportDictCursorfromflaskimportFlask,requestfromflask.json.providerimportDefaultJSONProviderfromflask_corsimportCORSfromdatetimeimportdatetime,datesqlconnect=pymysql.connect(user="root&q......
  • elasticsearch常用请求接口Rest API示例
    创建shopping索引PUT/shopping查看全部索引GET/_cat/indices查看指定索引GET/shopping删除指定索引DELETE/shopping索引的映射字段属性,是否关键字和加入索引PUT/shopping/_mapping{"properties":{"title":{"type":"text"},&qu......
  • Bootstrap Your Own Latent A New Approach to Self-Supervised Learning论文阅读笔记
    BootstrapYourOwnLatentANewApproachtoSelf-SupervisedLearning论文阅读笔记Abstract​ 我们提出了BYOL,一种新的自监督图像表示学习的方法。BYOL依赖于两个神经网络,即在线网络和目标网络,它们相互作用和相互学习。从一个图像的增广视图出发,我们训练在线网络来预测同一图......
  • 【WPF】-ComboBox控件详解
    ComboBox控件在很多方面都类似于ListBox控件,但占用的空间要少得多,因为项目列表在不需要时会隐藏起来。ComboBox控件在Windows中的很多地方都有使用,但为了确保每个人都知道它的外观和工作方式,我们将直接进入一个简单的示例:<Windowx:Class="WpfTutorialSamples.ComboBox_co......
  • 三.接口自动化项目1
    一.接口自动化需求分析:接口自动化测试用例:1.用例写在excel表格里面,定义函数获取excel表格中数据并加入到用例列表中进行返回a.Excel表格中的数据只有url/请求方式、请求参数、headers、是否json、预期结果才是有效数据b.请求参数定义格式是"xxx=123,sss>456,phone=<phone>"......
  • 一.postman进行接口测试
    1.先进行接口调试并进行参数 2.进行添加接口预期结果校验 3.进行保存接口 4.启动runner  5.执行接口用例 6.查看执行结果 ......
  • java8特性-函数式接口
    什么是函数式接口?只包含一个抽象方法的接口,称为函数式接口检验方法:  Java内置的4大核心函数式接口消费型接口Consumer<T>voidaccept(Tt)供给型接口Supplier<T>Tget()函数型接口Function(T,R)Rapply(Tt)断定型接口Predicate<T>booleantest(Tt)......
  • delphi 判断类是否实现接口,获取类实现的接口
    判断类是否实现接口,获取类实现的接口代码typeICeShi=interface['{37CABB9D-CAA2-4589-A0C8-5AA1424E525B}']functionToPrint:string;end;TCeShi=class(TInterfacedObject,ICeShi)functionToPrint:string;end;procedureTForm1.Button1Cli......