子类引用父类的问题?????????
A.java//定义一个A类
package com.java;
public class A
{
public Connection getConnection()
{
.....return //定义了数据库连接的一个方法并把回该连接
}
}
B.java//定义一个B类
package com.java;
public class B extends A //继承A类
{
public void getmethod1()
{...定义方法1}
public getResultSet(StringSQLstr)
{
Connection con=super.getConnection();
Statement stm=con.creatStatement();
...
}
}
C.java类的定义
public class C extends B //
{
public static void main()
{
...
...
con.close();//我要在此段中引用con但是我这样引用发生了错误,请问怎样解决?
}
}
A类是一个数据库连接的类,B类定义了一些常用的方法(查询、更新) 我想在C类是操作B类关闭掉数据库的连接,请高手帮忙看看,????
A.java//定义一个A类
package com.java;
public class A
{
public Connection getConnection()
{
.....return //定义了数据库连接的一个方法并把回该连接
}
}
B.java//定义一个B类
package com.java;
public class B extends A //继承A类
{
public void getmethod1()
{...定义方法1}
public getResultSet(StringSQLstr)
{
Connection con=super.getConnection();
Statement stm=con.creatStatement();
...
}
}
C.java类的定义
public class C extends B //
{
public static void main()
{
...
...
con.close();//我要在此段中引用con但是我这样引用发生了错误,请问怎样解决?
}
}
A类是一个数据库连接的类,B类定义了一些常用的方法(查询、更新) 我想在C类是操作B类关闭掉数据库的连接,请高手帮忙看看,????
你可以在C类里写一个非静态方法,再在main里始例化一个C,再使用方法。
package com.java;
public class B extends A //继承A类
{
public void getmethod1()
{...定义方法1}
public getResultSet(StringSQLstr)
{
Connection con=super.getConnection();
Statement stm=con.creatStatement();
...
}
}
把它改成这样,应该就可以了:package com.java;
public class B extends A //继承A类
{ Connection con;//此为类变量,类变量在子类中可以继承 public void getmethod1()
{...定义方法1}
public getResultSet(StringSQLstr)
{
con=super.getConnection();
Statement stm=con.creatStatement();
...
}
}
上面的继承关系有问题 不符合逻辑
如果非要这样使用 con 的话 可以把 con 设为 protected 类成员变量
c 就可以用了
不过 强烈建议 修改继承关系
C最后还是一个类,不能调用方法.
要用的话也应该写在B类实例域:Connection con= null;或是B类域即Static型;