利用继承进行JAVA的代码重用

最近一段时间学习JAVA,对于代码重用的方法很是不知从哪里下手。由于正在实践一个在线考试的东东,所以现在我只能想到通过接口和继承的方式来进行代码重用……下面就是我在bean中用继承的方法对数据库连接部分的代码重用。希望可以给和我一样初学的提供一种方法,更希望高手能够指点迷津。
主要提供两个代码片段,一个父类,一个子类,用来较清楚的表明关系和调用的方法。

父类:
/*
 * TestSql.java
 *
 * Created on 2006年8月9日, 下午8:45
 *
 * 本类是数据库公用代码模块,所有代码都是基本的数据库连接语句,所以不做注释
 */
package PUBLIC;
import java.sql.*;

/**
 *
 * @author Bluefish@CsdnBlog
 */

public class TestSql {
    public Connection conn=null;
    public Statement sql;
    public TestSql(){
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }
        catch(ClassNotFoundException e){
        }
        try {
            conn=DriverManager.getConnection("jdbc:odbc:OnlineTest","用户名","密码");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            sql=conn.createStatement();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

子类:
/*
 * QuestionList.java
 *
 * Created on 2006年8月10日, 下午3:49
 *
 *本类用来生成题目列表
 */

package ACTION;
import java.sql.*;
import PUBLIC.TestSql;
/**
 *
 * @author Bluefish@CsdnBlog
 */
public class QuestionList extends TestSql{
    ResultSet rs;
    String Result="无法显示该内容";
    public QuestionList() {
    }
    public String getList(){
        StringBuffer buffer=new StringBuffer(); //建立缓存空间
        int tempID; //临时ID变量
        String QuestionContents;
        Time QuestionTime;
        try {
            String condition="SELECT * FROM TestQuestion";  //查找数据库[TestQuestion]表中的所有问题
            rs=sql.executeQuery(condition);
            buffer.append("<Table width='750'>");   //建立HTML表格
            while(rs.next())
            {
                tempID=rs.getInt("QuestionID");
                QuestionContents=rs.getString("QuestionContents");
                QuestionTime=rs.getTime("QuestionTime");
                buffer.append("<Tr>");
                buffer.append("<Td width='100'>编号:"+tempID+"</Td>");
                buffer.append("<Td width='450'>问题:<a href='View.jsp?"+tempID+"'>"+QuestionContents+"</a></Td>");
                buffer.append("<Td width='200'>发布时间:"+QuestionTime+"</Td>");
                buffer.append("</Tr>");
            }
            buffer.append("</Table>");
            Result=new String(buffer);  //将缓存中的内容转化为字符串并赋值给result
        } catch (SQLException ex) {
            Result="列表显示失败!";
            ex.printStackTrace();
        }
        return Result;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值