1,关于属性
显然,默认的属性(字段whatever我喜欢这么叫),java中规定所有的变量都要显式的赋予初始值,在类初始化时,如果懒得做这个工作,那么编译器会给它们赋默认值:
整型为0,布尔为false,对象为null...
2,关于构造器
一个类可以有多个构造器吗?当然。没错,构造器是可以重载的。在构造器中初始化变量是很有效的,也很友好。如果没有呢,java类也会有默认的构造器,默认的赋值...但是,如果你已经建立了构造器(带参),那么在创建类的时候,new Class()有效的办法就是手动提供一个空的构造器...
通过方法赋予属性初始化的变量也是很不错的技巧~
那么在一个构造器中可不可以调用其它构造器呢?当然,就像调用其它方法一样,不过注意的是,用this指针~
3,关于块
块的使用不常见,但同样有效而且具有较高的优先级。需要注意的是,在需要初始化static属性的时候,在块的定义前也应该加上static声明。
static{
n = a();
}
类加载执行过程如下:初始化所有属性->初始化块->被调用构造器(如果有的话)->构造器自身->其它...
显然,默认的属性(字段whatever我喜欢这么叫),java中规定所有的变量都要显式的赋予初始值,在类初始化时,如果懒得做这个工作,那么编译器会给它们赋默认值:
整型为0,布尔为false,对象为null...
2,关于构造器
一个类可以有多个构造器吗?当然。没错,构造器是可以重载的。在构造器中初始化变量是很有效的,也很友好。如果没有呢,java类也会有默认的构造器,默认的赋值...但是,如果你已经建立了构造器(带参),那么在创建类的时候,new Class()有效的办法就是手动提供一个空的构造器...
通过方法赋予属性初始化的变量也是很不错的技巧~
那么在一个构造器中可不可以调用其它构造器呢?当然,就像调用其它方法一样,不过注意的是,用this指针~
3,关于块
块的使用不常见,但同样有效而且具有较高的优先级。需要注意的是,在需要初始化static属性的时候,在块的定义前也应该加上static声明。
static{
n = a();
}
类加载执行过程如下:初始化所有属性->初始化块->被调用构造器(如果有的话)->构造器自身->其它...