-1

如何使用 class 的方法A在 class 中设置 class 参数的值?BsetvarAA

public class A{

String varA;
public String getvarA() {
        return varA;
    }
public void setvarA(String varA) {
        this.varA=varA;
    }
}

public class B{

String name = "abc";
A objA = new A();
objA.setvarA(name) ; ## THIS LINES THROWS AN ERROR

}

错误是:

Syntax error on token "name", VariableDeclaratorId expected after this token and Syntax error on token(s), misplaced constructs
4

5 回答 5

3
public class A{

    String varA;
    public String getvarA() {
        return varA;
    }
    public void setvarA(String varA) {
        this.varA=varA;
    }
}

class B {
    String name = "abc";
    A objA = new A();

    B() {
        objA.setvarA(name);
    }
}
于 2013-09-04T11:49:28.930 回答
2

我很惊讶你只抱怨一个错误。

您发布的代码中有许多不同的错误:

  • String,不是string(大小写很重要)
  • 在方法setvarA中,这是错误的:this.varA = var.A;,应该是:this.varA = varA;
  • 后面忘记分号了String name = "abc"
  • ()之后忘记了new AA objA = new A();
于 2013-09-04T11:46:48.687 回答
0

修改后的代码:

public class A{

        String varA; //<-String, not string
        public String getVarA() { 
                return varA;
            }
        public void setVarA(String varA) {
                this.varA=varA; //<- var.A not valid
            }
        }

        class B{
          B(){ //<- Need to write this code in a method or constructor
            String name = "abc"; //<- Semi-colon?
            A objA = new A(); //<- what about parenthesis?
            objA.setVarA(name); //<- Semi-colon?
            }
        }
于 2013-09-04T11:45:58.347 回答
0

这是更正和完整的代码:

public class A{

    String varA;

    public String getvarA() {
        return varA;
    }

    public void setvarA(String varA) {
        this.varA = varA;
    }
}

public class B{

    public B(){
        String name = "abc"
        A objA = new A();
        objA.setvarA(name);
    }
}

当然,这两个类都必须放在单独的文件中,分别称为 A.java 和 B.java。在其中一个文件中添加一个 main 方法,创建 B.

于 2013-09-04T11:48:13.107 回答
-1

它应该是A objA = new A();

  • 通过这样做,您正在调用类的构造函数,该构造函数A创建类的对象A并将引用变量分配 objA给它
  • 另外,objA.setvarA(name);. 你在这里错过了分号。
  • 将您更改stringString. java区分大小写。String是一类。
  • 更改this.varA=var.A;this.varA = varA;
  • 这里缺少分号String name = "abc"。改成String name = "abc";
  • 您在 setter 方法中添加了额外的分号。请更正。
  • 此外,您需要从某个 init 块或构造函数或方法调用该方法

    B() { objA.setvarA(name); }

于 2013-09-04T11:43:43.870 回答