当前位置:   article > 正文

lava学习-接口

lava学习-接口
接口-Interface

1.什么是接口?

例:构造器,代码块在接口中统统没有,也不能创建对象

构造器的使用-----实现类

例:下图中的B类就是一个 实现类

2.接口的好处

继承只能单继承,而接口可以弥补类单继承的不足,下图中除了用student作为实现类,还可以同时使用其他类作为实现类.

接口方便业务的切换:

案例

代码:构建了如下的接口和类

packageInterfaceDemo;

importjava.util.ArrayList;

//方案一

publicclassMethod1implementsOperate{

@Override

publicvoidprintInfo(ArrayList<Student>students){

for(inti=0;i<students.size();i++){

System.out.println("姓名:"+students.get(i).getName());

System.out.println("性别:"+students.get(i).getSex());

System.out.println("训练成绩:"+students.get(i).getScore());

}

}

@Override

publicvoidprintAver(ArrayList<Student>students){

doublesumScore=0;

for(inti=0;i<students.size();i++){

sumScore+=students.get(i).getScore();

}

System.out.println("104期学员的平均分为:"+sumScore/4);

}

}

packageInterfaceDemo;

importjava.util.ArrayList;

//方案二

publicclassMethod2implementsOperate{

@Override

publicvoidprintInfo(ArrayList<Student>students){

intmaleNum=0;

intfemaleNum=0;

for(inti=0;i<students.size();i++){

if(students.get(i).getSex()==''){

maleNum++;

}

elsefemaleNum++;

System.out.println("姓名:"+students.get(i).getName());

System.out.println("性别:"+students.get(i).getSex());

System.out.println("训练成绩:"+students.get(i).getScore());

}

System.out.println("该期学员男:"+maleNum+"");

System.out.println("该期学员女:"+femaleNum+"");

}

@Override

publicvoidprintAver(ArrayList<Student>students){

doublemax=students.get(0).getScore();

doublemin=students.get(0).getScore();

doublesumScore=0;

for(inti=0;i<students.size();i++){

if(students.get(i).getScore()>max)max=students.get(i).getScore();

if(students.get(i).getScore()<min)min=students.get(i).getScore();

sumScore+=students.get(i).getScore();

}

System.out.println("104期学员的平均分为:"+(sumScore-max-min)/2+"~~~");

}

}

packageInterfaceDemo;

importjava.util.ArrayList;

publicinterfaceOperate{

voidprintInfo(ArrayList<Student>students);

voidprintAver(ArrayList<Student>students);

}

packageInterfaceDemo;

publicclassStudent{

privateStringname;

privatecharsex;

privatedoublescore;

publicStudent(){

}

publicStudent(Stringname,charsex,doublescore){

this.name=name;

this.sex=sex;

this.score=score;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicchargetSex(){

returnsex;

}

publicvoidsetSex(charsex){

this.sex=sex;

}

packageInterfaceDemo;

importjava.util.ArrayList;

publicclassStuOperate{

//创建一个容器,储存学生信息

privateArrayList<Student>students=newArrayList<>();

privateOperateoperate=newMethod2();

publicvoidmanage(){

Students1=newStudent("米卡莎",'',100);

Students2=newStudent("阿尼",'',99);

Students3=newStudent("耶格尔",'',99);

Students4=newStudent("阿尔敏",'',99.5);

students.add(s1);

students.add(s2);

students.add(s3);

students.add(s4);

}

publicvoidprintAllInfo(){

operate.printInfo(students);

}

publicvoidprintAllAver(){

operate.printAver(students);

}

}

packageInterfaceDemo;

publicclasstest{

publicstaticvoidmain(String[]args){

StuOperatestuOperate=newStuOperate();

stuOperate.manage();

stuOperate.printAllInfo();

stuOperate.printAllAver();

}

}

接口好处小结:

3.接口的其他注意事项

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/59486
推荐阅读

  • 有torch训练:https://github.com/icicle4/SimplePoseJustGaussianmxnet:https://github.com/dog-qiuqiu/Ultralight-SimplePose/blob... [详细]

  • 游戏官网网页设计作业... [详细]

  • 只有两个jar包,从一个jar里找出要修改class文件生成新jar包。部署实战--修改jar文件重新打包成jar文件一.jar文件JAR文件就是JavaArchive(Java档案文件),它是Java一种文档格式JAR文件与Z... [详细]

  • 上一篇中_零基础入门深度学习(3)-神经网络反向传播算法基础入门深度学习(3)-神经网络反向传播算法上一篇中我们训练了感知器和线性单元,由单独的线性单元按照一定的规则相互连接在一起形成神经网络。从而奇迹般获得强大的学习能力。本篇还将介... [详细]

  • 例如我的报错为Unsupportedkernelversion5.15.0-46-generic.(具体的忘记了),他会输出所需的内核版本5.11,而我的当前内核版本为5.15,可以使用指令uname-r查看自己的内核;查看自己当前所拥有的... [详细]

  • 对于在win0专业版和企业版已经支持直接安装docker了,安装教程如下:1、window上安装Hyper-Vdocker在运行时以来window上的虚拟化技术,因此需要先打开window上自带的虚拟机功能,Hyper-V是微软开发的虚拟机... [详细]

  • write_image是一个可以用来保存图片的算子,可以将Image对象保存成各种格式的图片。还可以对图片进行压缩。【halconwrite_image图片保存前言write_image是一个可以用来保存图片的算子,可以将Image对象保... [详细]

  • 昨天遇到个需求:要通过路由器MAC地址查询它是什么品牌和型号捯饬了一下午品牌很好查但查型号就无能为力了做也做了就发出来分享一下吧。一、在线搜索1.便民查询网网址:https://mac.51240.com/这个网站里带有一个MA... [详细]

  • b站很多实战教程,尤其是后台管理系统的教程基本上只教了些皮毛,很多实用性强的功能基本上没有说,这也是我遇到这种问题无从下手的原因,这里推荐一个教程,也是b站上可看。https://www.bilibili.com/video/BV1zJ41... [详细]

  • 微信程序缓存微信浏览器H5缓存_微信h5强制刷新缓存微信h5强制刷新缓存微信–>设置–>通用–>存储空间–>缓存->点第一项:缓存缓存... [详细]

  • 相关标签
      

    闽ICP备14008679号