技术心得,问网友才给我做出了修改。感激网上的好心人。。项目中对静态构造函数的理解

在写工具类的时候,将一些静态的对象放到了普通构造函数里面进行赋值,虽然编译没有错误,但是后来在运行的时候,提示说对象没有被实例化,这是因为在普通构造函数里面的赋值没有起作用。因为普通构造函数是在新建对象的时候才执行。这样是不起作用的。只有将这些静态对象的赋值放到静态构造函数里面这样才可以。这样就不会出现错误了。关于静态构造函数的例子见上一篇文章。

为什么在写工具管理类的时候,也声明了不少静态的类变量,却没有出错,因为在给这些静态变量复制的时候不是在构造函数里赋值的,而是在taskStart()函数里赋值的,并且应用的时候,如果是在普通构造函数里赋值,肯定也会在运行时出错。。。

另外静态构造函数可以与同名的非静态构造函数共存,这个用处多多啊, 嘿嘿。因为在静态构造函数里只能初始化静态变量。

还有就是静态构造函数的执行时间问题,小宋说是在编译期执行,这样未免牵强。。

你可能感兴趣的:(构造函数)