今天按照书上的练习Struts框架 其中DAO层 基本的数据库连接类是abstract 的 类中没有abstract 方法 , 另外一个具体实现DAO操作的类继承自该abstract类 , (一个abstract类中可以没有abstract方法 ,这点我知道) , 只是我很不理解 , 既然你类中没有abstract方法 , 你又何必要该写成abstract的呢? 假如连接类本身不是abstract的 , 而是一个普通的class 同样可以被其它DAO类所继承, (我上次写的Demo , 数据库连接类就是普通的class) , 一个没有abstract方法的abstract类和 普通 的class 究竟有什么不同呢?
解决方案 »
- HTML自定义右键的菜单
- <<java编程思想>>和<<java核心技术>>哪本书好??
- EJB-QL有插入语句么?
- 为什么保存好的文件会这样子
- 刚学j2se,有个问题请大家帮忙
- (高分相送)有没有java2中文版类库下载?小弟只有英文版的。
- Java中如何实现对文本文件的插入文本,删除文本等操作
- 打包成JAR文件后,servlet可以用相对目录写文件吗?
- 关于application包example.jar执行时的问题
- jdk String private final char value[] 是怎么初始化的
- Matisse拖拽控件的问题
- java中如何用鼠标获取JPanle上已经打印出来的点的坐标,并写入数据库
public static void main(String[] args) {
//定义一个抽象类类型(接口)
Abs abs = null;
//使用多态,降低系统的耦合度
abs = new ClassA();
abs.doSomething();
//使用多态,降低系统的耦合度
abs = new ClassB();
abs.doSomething();
}
}abstract class Abs {
public void doSomething() {
System.out.println("output from abstract class");
}
}class ClassA extends Abs {
@Override
public void doSomething() {
System.out.println("output from ClassA");
}
}class ClassB extends Abs {
@Override
public void doSomething() {
System.out.println("output from ClassB");
}
}结果是:
output from ClassA
output from ClassB