我唯一有其他经验的语言是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中的任务的建议,因此我不会回答问题的那一部分。

10-06 10:38