普通类:只有具体实现
抽象类:具体实现和规范(抽象)都有
接口:只有规范,自己无法实现方法体~专业的约束!约束和实现分离:面向接口编程
定义接口的关键字是interface
写接口的方法可以直接写返回值类型,方法名,不需要写public abstract,默认就是这个
我对接口的初步理解:
我们只需要写接口的方法,不写方法体,而接口的方法都是确定的,比如你的接口是飞机,那么你的方法就是飞,还有跑,这就是你这个接口所有的方法,具体怎么飞,交给实现类去实现
我们只是定义了这个方法名,并没有去实现
在抽象类中,抽象方法是通过子类去实现的,而接口中的抽象方法需要用实现类去实现,用到的不再是继承中的extends,而是实现关键字implements,但抽象类和接口实现过程还是一样的,都是重写方法
一般我们在接口中定义的都是方法,一般没有人会在接口中定义属性,当然在接口中是可以定义属性的,和方法一样,都有默认的修饰,方法的默认修饰是public abstract,属性的默认修饰是public static final
接口都需要有实现类,类通过implements去实现接口,要实现接口就必须重写接口中的类,接口可以实现多继承,通过implements关键字
接口不能被实例化,因为接口中没有构造器
举例说明:
//接口
public interface j {
//默认都有public abstract修饰
void add();
void delete();
void update();
void select();
}
//实现类
public class shixian implements j{
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
@Override
public void select() {
}
}
原文:https://www.cnblogs.com/H-scholar/p/14380768.html