Java基础学习Day4
接口
接口的关键字是interface,在接口中定义的方法叫抽象方法,这种方法没有方法体。
package com.zz.bsea;
/**
*
* @author bsea
* 接口的关键字是interface
*
*/
public interface InterfaceDemo27 {
/**
* 这种叫抽象方法
* 抽象方法没有方法体
* @return
*/
public int test1();
}
实现一个接口的关键字是implements,如果一个类实现了一个接口,那么必须定义接口中的方法。
package com.zz.bsea;
/**
*
* @author bsea
* 实现一个接口的关键字是 implements
* 如果一个类实现了一个接口,那么就必须实现接口的抽象方法
*/
public class Test28 implements InterfaceDemo27{
@Override
public int test1() {
// TODO Auto-generated method stub
return 0;
}
}
实践
定义一个接口,当中有三个抽象方法。
public interface StudentService {
/**
*
* @param
* @return
*/
boolean addStudent(Student111 student);
/**
*
* @param
* @return
* 通过成绩来查找
*/
void findStudentchengji(int chengji);
/**
*
*/
void showAll();
}
写一个类来实现上面定义的接口
public class Shixian implements StudentService{
//加static静态
private List<Student111> list=new ArrayList<Student111>();
//添加
@Override
public boolean addStudent(Student111 student) {
// TODO Auto-generated method stub
return list.add(student);
}
//输入一个成绩,打印成绩在此之上的人的姓名
@Override
public void findStudentchengji(int chengji) {
// TODO Auto-generated method stub
System.out.println("成绩在"+chengji+"分以上的人有");
System.out.println("姓名");
Iterator<Student111> it=list.iterator();
while(it.hasNext()) {
Student111 st=it.next();
if(chengji<st.getchengji()) {
System.out.println(st.getname());
//return student;
}
}
return;
}
//打印列表中的全体
@Override
public void showAll() {
// TODO Auto-generated method stub
System.out.println("姓名\t年龄\t性别\t成绩");
Iterator<Student111> it=list.iterator();
while(it.hasNext()) {
Student111 st=it.next();
System.out.println(st.getname()+"\t"+st.getage()+"\t"+st.getsex()+"\t"+st.getchengji());
}
return;
}
}
测试接口调用
public class Test {
public static void main(String[] args) {
/**
* 随意创建三个实例对象
*/
Shixian data=new Shixian();
Student111 student=new Student111();
Student111 student2=new Student111();
Student111 student3=new Student111();
student.setname("张三");
student.setage(18);
student.setsex('男');
student.setchengji(88);
student2.setname("李四");
student2.setage(18);
student2.setsex('女');
student2.setchengji(99);
student3.setname("王五");
student3.setage(19);
student3.setsex('男');
student3.setchengji(56);
/**
* 调用添加功能
*/
data.addStudent(student);
data.addStudent(student2);
data.addStudent(student3);
/**
* 查看加入情况
*/
data.showAll();
/**
* 调用查询方法,查询成绩在八十分以上的人的姓名
*/
data.findStudentchengji(80);
}
}
结果显示调用成功
姓名 年龄 性别 成绩
张三 18 男 88
李四 18 女 99
王五 19 男 56
成绩在80分以上的人有
姓名
张三
李四