日期:2014-05-20  浏览次数:20679 次

java抽象类意义
简单概括如下:
有个抽象类:
public abstract class A
{
protected void B()
{
.........
C(参数);
D(参数);
}
protected abstract void C(参数);
protected abstract void D(参数);
}
方法C和D只定义它们的存在,不做任何事,然后定义一个实现类继承类A,在实现类里面调用方法C和D并实现它们。

实现类里面实现继承的抽象方法我知道,但是在那个抽象方法里面调用C和D我就不明白了,那么做有什么意义呢?
java基础没学好,让大家见笑了。

------解决方案--------------------
抽象类是不能直接new的,需要有继承他的实体类来实现这两个方法,那么这里调用的C,D就是子类中的具体实现
例如:
public abstract class A
{
protected void B()
{
.........
C(参数);
}
protected abstract void C(参数);
}
public class Aa extends A{
C(参数){
.....
}
}
A a = new Aa();
其实是调用Aa中的C方法