实际项目中会遇到抽象类,作为底层的代码民工,虽然不常用到,学多点也没啥坏处。
理解十分肤浅,以后还需要补充:
代码如下:
//我认为抽象类是为了实现现实生活中的is-a关系
//而is-a就是继承的关系
//比如猪继承动物,那么猪IS-A动物
//使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。
//1.对于一个类,如果其中存在某个方法需要在子类中实现,可以将该方法定义成抽象方法。比如一个几何图形类中有一个计算面积的方法,但是这个方法只能在子类中去实现,这样这个方法就应该被定义成抽象方法。
//2.如果一个类中存在抽象方法,那么这个类就应该被定义成抽象类。
//3.接口中的方法都是抽象方法。
package ky.test;
/*
* 2011/5/16
*/
public abstract class AbstClass {
//子类复用可以的方法
public void method1(){
//难道所谓的代码复用就是体现在这里?
}
//抽象类中的方法声明为“abstract”时,子类必须重写,也就是必须有自己的实现
public abstract String method2();
public abstract String method3();
}
package ky.test;
//子类
public class SubClass extends AbstClass {
@Override
public String method3() {
method1();
return null;
}
@Override
public String method2() {
return null;
}
}