大家好,我是哪吒。
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
Java中有一个Comparable接口,只包含一个compareTo方法,public int compareTo(T o);,只有方法定义,没有具体的方法实现,接受一个Object参数,返回一个整数。
通过implements关键字去实现Comparable接口,并对compareTo方法进行重写,已实现自己的业务逻辑。
public class Test implements Comparable{
@Override
public int compareTo(Object o) {
return 0;
}
}
public interface UserService {
void study();
void sleep();
}
public interface StudentService {
void play();
}
public class StudentServiceImpl implements StudentService,UserService{
@Override
public void play() {
}
@Override
public void study() {
}
@Override
public void sleep() {
}
}
通过default关键字修饰的方法就是默认方法。
如果接口中有很多方法,实现它的类就需要重写接口中的所有方法,不管是否需要用到。如果接口中的某个方法被default关键字修饰了,那么具体的实现类中可以不用实现方法。
public interface Person {
void study();
default void say() {
System.out.println("Person say");
}
}
public class Student implements Person {
@Override
public void study() {
System.out.println("Student study");
}
}
如果Student需要实现两个类,这两个接口中都有用default修饰的say方法,那么student类必须重写say方法了,否则就会报错。
本文收录于,49天精通Java从入门到就业。
全网最细Java零基础手把手入门教程,系列课程包括:基础篇、集合篇、Java8新特性、多线程、代码实战,持续更新中(每周1-2篇),适合零基础和进阶提升的同学。
哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。