接口:
先从概念上理解接口和抽象类吧:
已经知道JAVA中只可以单继承,接口就为了弥补这点不足,JAVA允许实现多个接口。
当使用某个接口的非抽象类,必须有该接口的所有方法。接口不可以有具体的方法,只可以定义方法名和属性,而抽象类则可以定义具体方法。
Java接口的方法只能是抽象的和公开的。
来一个简单示例吧。
public interface Interface {
public abstract void run();
}
public class Father implements Interface{
public void run(){
System.out.println("This is Child.run()");
}
}
下面就用接口对象充当参数。
public class Text {
private Interface idao;
public Interface getIdao() {
return idao;
}
public void setIdao(Interface idao) {
this.idao = idao;
}
public void f(Interface adao){
adao.run();
}
public static void main(String[] args) {
Father f = new Father();
Text t =new Text();
t.f(f);
}
}
抽象类:
从某种意义上说,接口是一种特殊形式的抽象类。
1.抽象类可以像普通类一样定义变量.
2.接口和抽象类中的抽象方法都必须在子类中被实现。
3.接口和抽象类均不能被实例化;