Java 使用此运算符在构造函数中获取变量?

Java 使用此运算符在构造函数中获取变量?,java,constructor,this,Java,Constructor,This,当使用“this”运算符引用当前对象中的变量时,构造函数中是否包含该变量?例如 public class Mechanics { public Mechanics() { int x = 1; } public int returnX(){ return this.x; { } 当创建对象时调用构造函数时,“this”操作符会返回构造函数中的x还是只返回外部的变量 谢谢您的代码无效,无法编译x仅对构造函数是本地的。它不是力学类的字段。要在其他

当使用“this”运算符引用当前对象中的变量时,构造函数中是否包含该变量?例如

public class Mechanics {

    public Mechanics() {
      int x = 1;

    }

   public int returnX(){
    return this.x;
 {

}
当创建对象时调用构造函数时,“this”操作符会返回构造函数中的x还是只返回外部的变量


谢谢

您的代码无效,无法编译<构造函数中定义的代码>x仅对构造函数是本地的。它不是
力学
类的字段。要在其他地方使用
x
,需要将其声明为类的字段:

public class Mechanics {

    private int x;

    public Mechanics() {
        this.x = 1; //initialize x in the constructor

    }         

    public int returnX() {
        return this.x;
    }
}

这也是一样的,因为按照您所期望的行为,您在类的任何成员方法(包括构造函数)中声明的任何局部变量都会变成所属类的字段。这是一种无政府状态。

您的代码无效,无法编译<构造函数中定义的代码>x仅对构造函数是本地的。它不是
力学
类的字段。要在其他地方使用
x
,需要将其声明为类的字段:

public class Mechanics {

    private int x;

    public Mechanics() {
        this.x = 1; //initialize x in the constructor

    }         

    public int returnX() {
        return this.x;
    }
}

这也是一样的,因为按照您所期望的行为,您在类的任何成员方法(包括构造函数)中声明的任何局部变量都会变成所属类的字段。这是一种无政府状态。

您的代码无效,无法编译<构造函数中定义的代码>x仅对构造函数是本地的。它不是
力学
类的字段。要在其他地方使用
x
,需要将其声明为类的字段:

public class Mechanics {

    private int x;

    public Mechanics() {
        this.x = 1; //initialize x in the constructor

    }         

    public int returnX() {
        return this.x;
    }
}

这也是一样的,因为按照您所期望的行为,您在类的任何成员方法(包括构造函数)中声明的任何局部变量都会变成所属类的字段。这是一种无政府状态。

您的代码无效,无法编译<构造函数中定义的代码>x仅对构造函数是本地的。它不是
力学
类的字段。要在其他地方使用
x
,需要将其声明为类的字段:

public class Mechanics {

    private int x;

    public Mechanics() {
        this.x = 1; //initialize x in the constructor

    }         

    public int returnX() {
        return this.x;
    }
}

这也是一样的,因为按照您所期望的行为,您在类的任何成员方法(包括构造函数)中声明的任何局部变量都会变成所属类的字段。这是一种无政府状态。

变量
x
的范围仅限于构造函数

如果您想访问
returnX
中的
x
,您可以这样做:

public class Mechanics {

     private int x;

    public Mechanics() {
       this.x =1;

    }

   public int returnX(){
    return this.x;
 }

}

变量
x
的范围仅限于构造函数

如果您想访问
returnX
中的
x
,您可以这样做:

public class Mechanics {

     private int x;

    public Mechanics() {
       this.x =1;

    }

   public int returnX(){
    return this.x;
 }

}

变量
x
的范围仅限于构造函数

如果您想访问
returnX
中的
x
,您可以这样做:

public class Mechanics {

     private int x;

    public Mechanics() {
       this.x =1;

    }

   public int returnX(){
    return this.x;
 }

}

变量
x
的范围仅限于构造函数

如果您想访问
returnX
中的
x
,您可以这样做:

public class Mechanics {

     private int x;

    public Mechanics() {
       this.x =1;

    }

   public int returnX(){
    return this.x;
 }

}

X是构造函数内部的局部变量,在构造函数完成其工作后它就不存在了。您的代码将无法编译

“this”只是对此类对象的引用。是否可以在其他方法中获取某些局部变量的值?不,不管你怎么努力。
您需要类字段,它对所有方法都是可见的。

X是构造函数内部的局部变量,在构造函数完成其工作后它就不存在了。您的代码将无法编译

“this”只是对此类对象的引用。是否可以在其他方法中获取某些局部变量的值?不,不管你怎么努力。
您需要类字段,它对所有方法都是可见的。

X是构造函数内部的局部变量,在构造函数完成其工作后它就不存在了。您的代码将无法编译

“this”只是对此类对象的引用。是否可以在其他方法中获取某些局部变量的值?不,不管你怎么努力。
您需要类字段,它对所有方法都是可见的。

X是构造函数内部的局部变量,在构造函数完成其工作后它就不存在了。您的代码将无法编译

“this”只是对此类对象的引用。是否可以在其他方法中获取某些局部变量的值?不,不管你怎么努力。
您需要所有方法都可见的类字段。

您应该读取变量范围。
x
的范围仅限于构造函数。因此,不,您将无法引用它。此外,变量和数据成员是完全不同的东西。感谢您的回答,您应该阅读变量范围。
x
的范围仅限于构造函数。因此,不,您将无法引用它。此外,变量和数据成员是完全不同的东西。感谢您的回答,您应该阅读变量范围。
x
的范围仅限于构造函数。因此,不,您将无法引用它。此外,变量和数据成员是完全不同的东西。感谢您的回答,您应该阅读变量范围。
x
的范围仅限于构造函数。因此,不,您将无法引用它。此外,变量和数据成员是完全不同的东西。谢谢您的回复