4

如果我有这样的构造函数:

    public Constructor (int a, int b){

        int c =  a;
        int d =  b; 
    }

然后,我如何在与构造函数相同的类中的方法中使用变量 c 和 d,因为尝试仅在方法中使用变量名称似乎不起作用?

4

2 回答 2

13

事实上,您的代码将无法编译 -int c = int a无效。

我假设您的意思是: - int c = a;

然后我如何在与构造函数相同的类中的方法中使用变量 c 和 d

您不能,因为您已将它们声明为局部变量,其范围在构造函数结束执行时结束。

您应该将它们声明为实例变量。

public class MyClass {
    int c;
    int d;

    public MyClass(int a, int b){

        this.c = a;
        this.d = b; 
    }

    public void print() {
        System.out.println(c + " : " + d);
    }
}
于 2012-11-21T18:58:07.400 回答
1

您需要在构造函数之外将变量声明为类成员。换句话说,在构造函数之外声明 c 和 d ,如下所示:

int c;
int d;

public Constructor (int a, int b) {

        c = a;
        d = b; 
}
于 2012-11-21T19:09:26.327 回答