Java 在构造函数之外的方法中使用构造函数中的变量

Java 在构造函数之外的方法中使用构造函数中的变量,java,methods,constructor,Java,Methods,Constructor,如果我有这样一个构造函数: public Constructor (int a, int b){ int c = a; int d = b; } int c; int d; public Constructor (int a, int b) { c = a; d = b; } 然后,我如何在与构造函数相同的类中的方法中使用变量c和d,因为尝试仅在方法中使用变量名称似乎不起作用?事实上,您的代码不会编

如果我有这样一个构造函数:

    public Constructor (int a, int b){

        int c =  a;
        int d =  b; 
    }
int c;
int d;

public Constructor (int a, int b) {

        c = a;
        d = b; 
}

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

事实上,您的代码不会编译-
int c=int a
无效

我想你的意思是:-
intc=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);
    }
}

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

    public Constructor (int a, int b){

        int c =  a;
        int d =  b; 
    }
int c;
int d;

public Constructor (int a, int b) {

        c = a;
        d = b; 
}

intc=inta将不会编译,您需要
intc=a
在修复我之前所说的内容后,您可以将它们作为参数传递给方法(从构造函数中),或者将值保存在实例属性中并在方法中使用它们。不确定为什么投票被否决,这对我来说似乎是一个有效的问题。不是吗?尝试修复语法错误并被回滚。确保下次编辑时保留它:)是的,我刚刚删除了第二个整数(在构造函数赋值的右侧)。现在看起来不错。在这种情况下,使用这个。c=a和c=a有什么区别?