我唯一有其他经验的语言是Perl,这是我对OO编程的第一个突破。我觉得我正在解决所有这些错误。问题之一可能是我试图像编码非OO Perl一样对OO Java进行编码。谁能在下面的代码段中提出一种方法来优雅地完成我要完成的工作?
注意:???在我的代码中,我想使用默认对象。
公共课程Var {
私人双var1;
public Var(double PassedVar1){//创建新对象的方法
var1 = ???。SetVar1(PassedVar1);
}
公共无效SetVar1(双倍PassedVar){
if(PassedVar> 0){//确保我们要分配一个正值
var1 = PassedVar;
}
else {//强制用户输入新值
System.out.print(“ \ n无法设置变量。” +
“请输入一个大于零的数字:”);
扫描仪扫描=新的扫描仪(System.in);
PassedVar = scan.nextDouble();
var1 = ???。SetVar1(PassedVar); //以确保正数递归调用
}
}
}
最佳答案
您要查找的单词是this
(即this.SetVar1(...)
),但是在Java中则不需要。您可以在SetVar1(...)
的任何子类的Var
的任何非静态成员中使用Var
。
毫无疑问,其他人将提供更好的方法来完成Java中的任务的建议,因此我不会回答问题的那一部分。