一 接口概述
interface定义接口,implements对接口中方法进行具体实现。
也就是说interface定义了功能列表清单,其他类通过implements实现清单中所需要的方法,并进行具体业务实现。
一个接口可以有多个实现类。
二 接口实例
1、定义一个Person接口
package com.lanhuigu.java.interfacedemo;
/**
* 定义接口person,其中的方法均为public权限,
* 方法可以有返回值,也可以没有返回值,但是都没有具体实现;
* 不允许出现call这种自实现方法,否则编译不通过,除非用java8的default关键字,定义默认实现;
*/
public interface Person {
public String eat();
public String sleep();
/*public String call() {
return "打电话";
}*/
default public String hello() {
return "java8默认实现,实现类可以选择是否实现该方法";
}
}
2、实现类Teacher
package com.lanhuigu.java.interfacedemo;
/**
* 接口的具体实现
*/
public class Teacher implements Person {
@Override
public String eat() {
return "老师吃饭";
}
@Override
public String sleep() {
return "老师睡觉";
}
}
3、实现类Student
package com.lanhuigu.java.interfacedemo;
/**
* 接口的具体实现
*/
public class Student implements Person {
@Override
public String eat() {
return "学生吃饭";
}
@Override
public String sleep() {
return "学生睡觉";
}
}
4、测试代码
package com.lanhuigu.java.interfacedemo;
public class InterfaceTest {
public static void main(String[] args) {
Teacher teacher = new Teacher();
Student student = new Student();
System.out.println(teacher.eat());
System.out.println(teacher.sleep());
System.out.println("============");
System.out.println(student.eat());
System.out.println(student.sleep());
}
}
5、控制台输出
老师吃饭
老师睡觉
============
学生吃饭
学生睡觉