|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,
您常常会看到代码不是仅仅经由过程挪用机关函数对类举行初始化,它还经由过程一些紧接着的意在设置各个域的举措对类举行初始化。不幸的是,如许紧接着的举措是毛病的多发地带,会带来一连初始化(run-oninitialization)范例的毛病。
一连初始化
因为各类缘故原由(多半是糟的),您常常会看到如许的类界说,个中的类机关函数其实不带有充足的参数来得当地初始化类的一切域。如许的机关函数请求客户机类用几个步骤来对实例举行初始化(设置未被初始化的域的值),而不是用一个机关函数挪用就好了。以如许的体例初始化实例是一个易于堕落的历程,我把它称为一连初始化。这个历程发生的各类毛病范例有类似的症状和医治办法,以是我们能够将它们一切回进一种称为一连初始化器毛病形式的形式。
比方,思索以下代码:
清单1.一个复杂的一连初始化
classRestrictedInt{
publicIntegervalue;
publicbooleancanTakeZero;
publicRestrictedInt(boolean_canTakeZero){
canTakeZero=_canTakeZero;
}
publicvoidsetValue(int_value)throwsCantTakeZeroException{
if(_value==0){
if(canTakeZero){
value=newInteger(_value);
}
else{
thrownewCantTakeZeroException(this);
}
}
else{
value=newInteger(_value);
}
}
}
classCantTakeZeroExceptionextendsException{
publicRestrictedIntri;
publicCantTakeZeroException(RestrictedInt_ri){
super("RestrictedIntcanttakezero");
ri=_ri;
}
}
classClient{
publicstaticvoidinitialize()throwsCantTakeZeroException{
RestrictedIntri=newRestrictedInt(false);
ri.setValue(0);
}
}
<p>
如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉, |
|