首页新闻找找看学习计划

构造函数里面给变量赋值,可为什么取不到值

0
悬赏园豆:10 [已解决问题] 解决于 2008-05-15 10:16
<P>public abstract class DbHelperSQL</P> <P>{</P> <P>&nbsp;&nbsp; public static string connectionString;</P> <P>&nbsp;&nbsp; public DbHelperSQL()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionString ="ssssss";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P> <P>&nbsp;</P> <P>可是这边为什么取不到connectionString 的值呢</P> <P>}</P>
叶子绿了的主页 叶子绿了 | 初学一级 | 园豆:50
提问于:2008-05-14 16:07
< >
分享
最佳答案
0
public abstract class DbHelperSQL { public static string connectionString; static DbHelperSQL() { connectionString ="ssssss"; } }
deerchao | 大侠五级 |园豆:8167 | 2008-05-14 17:32
其他回答(2)
0
你在实例的构造函数中给该类的静态变量赋值,在生成实例之前是取不到值的。 也就是说,你必须实现一个这个抽象类的子类,然后再生成一个子类的实例,这时候才会调用该抽象类的实例构造函数,才会给静态变量赋值。
玉开 | 园豆:8822 (大侠五级) | 2008-05-14 17:07
0
因为你定义的那个构造函数没执行,你在DbHelperSQL实例化时如果这样写,应该会取到值DbHelperSQL dbHandlerSQL=new DbHelperSQL(); deerchao的方法就很好,因为连接字符串一般都是固定不变的,自然不需要每次构造对象时进行赋值,于是写成静态构造函数,就比较理想,写成静态函数难道还取不到在静态函数里赋的值吗?赫赫
Kevin Dai | 园豆:370 (菜鸟二级) | 2008-05-15 09:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册