例子
来先看下面的图:
ps:可以发现一个抽象类可以实现接口,并且完全不会提示你去实现接口。我觉得应该是因为抽象类本身就是抽象的,不能被实例化。即使这里实现了接口的方法也一样可能被具体的子类重写,所以没有提示的意义了。
但是你硬是要实现这个接口,当然也是可以的。
*/
public abstract class Abstrate implements Power12v {
protected void doSomething(){
System.out.println("AAA");
}
/**
* 这个是接口的方法
*/
public void outPut220v() {
System.out.println("正在输出220v电流....");
}
public abstract void doSomething2();
}
思考
重点是一定要记住,抽象类和接口都是为了把实际事物抽象化。不同在于,接口抽象出来的都是接口方法,不管实现。抽象类抽出来的既有属性,也有方法,既有需要子类自己实现的抽象方法,也有已经实现好的方法供子类继承使用。还有一点要注意,抽象的东西不能实例化!