abstract是“抽象的”的意思,如果使用了abstract关键字的类称之为抽象类;
//抽象类
public abstract class AbstractClass{
private String name;
public abstract void sayHello();//抽象方法
public void sayHi(){
//非抽象方法
}
}
//接口
public interface StudentDao{
static final int age; //接口中不能有普通数据成员,只能够有静态的不能被修改的数据成员,static表示全局,final表示不可修改,可以不用static final 修饰,会隐式的声明为static和final
public void method1(); //接口中的方法一定是抽象方法,所以不用abstract修饰,只能用public修饰
}
具体的接口和抽象类的区别:接口多用累规范代码,作为一种约束;而抽象类一般用来联系紧密的几个类中;接口中的方法必须被实现,且里面只能是常量;而抽象类可以有自己的属性,方法,和抽象方法,其最终子类必须实现它的抽象方法,如果子类也是抽象类可以不用实现它的抽象方法,具体区别请参考网上资料。