使用「;这";Java中的运算符

使用「;这";Java中的运算符,java,Java,除了访问与局部变量同名的成员变量外,是否还使用了这个关键字 this.x=x 在其他情况下使用这个关键词是否有意义 您可以将当前对象作为参数传递给另一个方法。此表示实例中的当前实例 它有助于: 从局部变量(包括参数)识别实例变量 它本身可以用来简单地引用成员变量和方法,调用其他构造函数重载 请参考实例 适用用途的一些示例(并非详尽): 以下几点摘自 使用this关键字的最常见原因是字段被方法或构造函数参数隐藏 在构造函数中,还可以使用this关键字调用同一类中的另一个构造函数 您可以引用字段

除了访问与局部变量同名的成员变量外,是否还使用了
这个
关键字

this.x=x


在其他情况下使用这个关键词是否有意义

您可以将当前对象作为参数传递给另一个方法。

表示实例中的当前实例

它有助于:

  • 从局部变量(包括参数)识别实例变量
  • 它本身可以用来简单地引用成员变量和方法,调用其他构造函数重载
  • 请参考实例
适用用途的一些示例(并非详尽):


以下几点摘自

  • 使用
    this
    关键字的最常见原因是字段被方法或构造函数参数隐藏
  • 在构造函数中,还可以使用
    this
    关键字调用同一类中的另一个构造函数

  • 您可以引用字段或调用封闭类的方法

    public class Examples {
        public class ExamplesInner {
            private int x;
            public ExamplesInner() {
                x = 3; // refers to ExamplesInner.x
                Examples.this.x = 3; // refers to Examples.x
            }
        }
    
        private int x;
    }
    

    关键字this只能在实例方法的主体中使用, 实例初始值设定项或构造函数,或在 类的实例变量。如果它出现在其他任何地方,则 发生编译时错误

    当用作主表达式时,关键字this表示一个值 这是对为其创建实例方法的对象的引用 调用(§15.12),或调用正在构造的对象

    它的类型是C类,关键字this出现在C类中

    在运行时,引用的实际对象的类可能是 C类或C的任何子类

    关键字this也用于特殊的显式构造函数中 调用语句,它可以出现在 建造商主体(§8.8.7)

    • 此关键字可用于引用当前类实例变量
    • 此()可用于调用当前类构造函数
    • 这个关键词 可用于调用当前类方法(隐式)
    • 这可能是 在方法调用中作为参数传递
    • 这可以作为 构造函数调用中的参数
    • 此关键字也可用于 返回当前类实例
    从以下内容中查找示例:

    此关键字的另一个用法是在构造函数链接中,例如:

    class Person {
    
        private String name;
        private int age;
    
        public Person() {
            //Invoking another constructor
            this("John", 35);
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    

    运算符用作当前执行对象的引用。它与对象有关,因此不能也不应该与静态引用一起使用,在静态引用中使用类而不是对象


    this
    运算符可用于调用构造函数,如
    this()


    this
    操作符还可以避免命名歧义,并可用于将当前对象作为函数的引用传递

    允许您消除私有成员
    foo
    和传递到
    构造函数中的参数
    foo
    之间的歧义

     class bar
     {
         private int foo;
         public Foo(int foo)
         {
            this.foo =foo;
         }
     }
    

    仅供参考,
    是一个关键字,不是运算符。感谢您的更正。
    x
    是否也在这里?也许你想让它成为一个阴影字段?@DaoWen它通常是由构造函数隐式完成的。但是如果是那样的话,它会显示阴影区域。非常感谢。这是我今天学到的新东西,也是我一直在寻找的东西。
     class bar
     {
         private int foo;
         public Foo(int foo)
         {
            this.foo =foo;
         }
     }