默认构造函数,如果没有为类指定任何构造函数,编译器会自动为类创建一个无参构造函数,用以初始化类的字段:如果为类编写了构造函数,那么编译器就不会再自动生成无参构造函数了.ps.C#不允许用户为结构定义无参构造函数. 静态构造函数,不能访问实例成员,只能用来初始化一些静态字段或者属性,仅在第一次调用类的任何成员时自动执行,不带访问修饰符,不带任何参数,每个类只能有一个静态构造函数,但可以同时还有一个无参实例构造函数,如下. public class Demo { static Demo() { }
建议35: 避免在构造函数中初始化其他类 构造函数是一个类初始化必须执行的代码,它决定着类的初始化效率,如果构造函数比较复杂,而且还关联了其他类,则可能产生意想不到的问题,我们来看如下代码: public class Client { public static void main(String[] args) { Son s = new Son(); s.doSomething(); } } // 父类 class Father { Father() { new Other(); } }//
举例子: package test_instance; public class TestClassLoaderTime { public TestClassLoaderTime(){ System.out.println("构造器执行"); } { System.out.println("静态代码块执行"); } static Demo2 demo2 = new Demo2(); private Demo3 demo3 = new Demo3(); public