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.接口的其他注意事项
相关推荐
minglie13 小时前
高等代数试题
学习
黒亱中旳3 小时前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·人工智能·spring
网络工程小王3 小时前
[智能对话系统架构设计文档]
java·系统架构·langraph
alxraves4 小时前
医用超声远程会诊系统:会诊平台的核心架构与功能解析
java·人工智能·架构
带刺的坐椅4 小时前
用 Solon AI ReActAgent 落地智能客服工单处理
java·ai·llm·agent·solon·react-agent
Xiaofeng36934 小时前
GPT-5.6 发布后,我用了一个周末重新规划学习路线图
gpt·学习
我是坏垠4 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python
white_ant5 小时前
JDK LTS 版本升级迁移注意事项大全
java·开发语言
其实防守也摸鱼5 小时前
运维--怎么看接口的请求和返回
运维·学习·网络安全·网络攻击模型·burpsuite·攻防对抗·蓝队
酷讯网络_2408701605 小时前
区块粮仓宠物NFT源码区块狗/抢购转让预约区块投资理财系统
学习·开源·宠物