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

java继承的实际操作?
我想问一下抽象出来的父类该怎么写

===============================

package   News.DAO;

import   java.sql.Connection;
import   java.sql.ResultSet;
import   java.sql.Statement;

import   News.DTO.NewsAdminDTO;
import   News.util.MySqlConnection;
import   News.util.SQLServerConnection;

public   class   NewsAdminDAO
{
//要被放入基类的字段
private   Connection   conn=null;
private   Statement   stmt   =   null;
private   ResultSet   rs   =   null;
private   MySqlConnection   mc=   null;
private   String   runinfo= " ";
private   String   dbFlag= " ";

//要被放入基类的方法
public   void   useMySQL()
{
dbFlag= "MySQL ";
mc=new   MySqlConnection();
conn=mc.openConnection();
}
public   void   useSQLServer()
{
dbFlag= "SQLServer ";
conn=SQLServerConnection.getConn();
}
public   void   closeConnection()
{
try
{
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
}catch(Exception   e)
{e.printStackTrace();}
finally
{
if(mc!=null)
{
mc.closeConnection();
System.out.println( "close   MySQL   Connection   in   NewsAdminDAO_ "+runinfo);
}
else  
{
SQLServerConnection.dbclose(conn);
System.out.println( "close   SQLServer   Connection   in   NewsAdminDAO_ "+runinfo);
}
}
}

//该类特有方法
public   boolean   checkAdmin(String   yhm)
{
String   sql= "............................... ";
stmt   =   conn.createStatement();
rs   =   stmt.executeQuery(sql);
}

public   boolean   isAdmin(String   yhm,String   yhmm)
{
//省略
}
public   int   addAdmin(NewsAdminDTO   dto)
{
//省略
}
}


我想把 "要被放入父类的方法和字段 "提取出来
public   class   DAObase()
{
    //字段
    //方法
}

然后,子类继承

public   class   NewsAdminDAO   extends   DAObase
{
      //这里对父类的属性   conn,stmt,rs   等怎么使用呢???
            直接使用,但是子类里没有声明,也不想在子类里声明,要是这样就没有抽象的必要了

      //子类用实例化它的父类么??

      //每个子类对象使用的父类也都是一个对象副本吧?
}

===========     想实现的效果   ====================

public   class   NewsAdminDAO   extends   DAObase
{

public   boolean   checkAdmin(String   yhm)
{
String   sql= "............................... ";
stmt   =   conn.createStatement();
rs   =   stmt.executeQuery(sql);
}
public   boolean   isAdmin(String   yhm,String   yhmm)
{
//省略
}
public   int   addAdmin(NewsAdminDTO   dto)
{
//省略
}
}

大体这样的结构.

------解决方案--------------------
直接另写一个基类
然后把你要分离的方法和属性放入基类
然后子类继承就可以了啊

至于你说的子类怎么使用基类的属性
直接用子类的对象调用就可以了


------解决方案--------------------
子类继承基类的时候,基类所有的属性子类都继承过来了