Java 当前类对象和#x27;这';关键词也指?

Java 当前类对象和#x27;这';关键词也指?,java,Java,这里这个关键字充当当前类对象的引用变量。但是,这个对象是在哪里创建的呢?此关键字引用的是哪个对象?逻辑是什么 它是“调用该方法的任何对象”。我们不知道对象是在哪里创建的,因为这可能是在其他代码中创建的 请看一个简单完整的示例: public class Foo { private String name; // ... public void setName(String name) { // This makes it clear that you

这里
这个
关键字充当当前类对象的引用变量。但是,这个对象是在哪里创建的呢?此关键字引用的是哪个对象?逻辑是什么

它是“调用该方法的任何对象”。我们不知道对象是在哪里创建的,因为这可能是在其他代码中创建的

请看一个简单完整的示例:

public class Foo {

    private String name;

    // ...

    public void setName(String name) {
        // This makes it clear that you are assigning 
        // the value of the parameter "name" to the 
        // instance variable "name".
        this.name = name;
    }

    // ...
}
第一次调用
printName()
时,我们在
p1
引用的对象上调用它-因此这就是
这个
在方法中引用的对象,它打印名称Jon。第二次调用
printName()
时,我们在
p2
引用的对象上调用它-因此这就是
这个
在方法中引用的对象,它会打印名称Himanshu

(重要的是要注意,
p1
p2
本身不是对象-它们是变量,变量的值也不是对象,而是引用。有关此差异的更多详细信息,请参阅。)

是“调用方法的任何对象”。我们不知道对象是在哪里创建的,因为这可能是在其他代码中创建的

请看一个简单完整的示例:

public class Foo {

    private String name;

    // ...

    public void setName(String name) {
        // This makes it clear that you are assigning 
        // the value of the parameter "name" to the 
        // instance variable "name".
        this.name = name;
    }

    // ...
}
第一次调用
printName()
时,我们在
p1
引用的对象上调用它-因此这就是
这个
在方法中引用的对象,它打印名称Jon。第二次调用
printName()
时,我们在
p2
引用的对象上调用它-因此这就是
这个
在方法中引用的对象,它会打印名称Himanshu

(重要的是要注意,
p1
p2
本身不是对象-它们是变量,变量的值也不是对象,而是引用。有关此差异的更多详细信息,请参阅。)

当我们使用“this”时,指的是自己的类和类的当前实例

当Android编程非常常见时,可以看到它与类一起使用,而不仅仅是属性

在MainActivity类的方法中:

class Person {
    private final String name;

    public Person(String name) {
        // this refers to the object being constructed
        this.name = name;
    }

    public void printName() {
        // this refers to the object the method was called on
        System.out.println("My name is " + this.name);
    }
}

public class Test {
    public static void main(String[] args) {
        Person p1 = new Person("Jon");
        Person p2 = new Person("Himanshu");
        p1.printName(); // Prints "My name is Jon"
        p2.printName(); // Prints "My name is Himanshu"
    }
}
或者只是

SlidingMenuAdapter slidingMenuAdapter = new SlidingMenuAdapter(MainActivity.this, listSliding);
当我们使用“this”时,它指的是我们自己的类和该类的当前实例

当Android编程非常常见时,可以看到它与类一起使用,而不仅仅是属性

在MainActivity类的方法中:

class Person {
    private final String name;

    public Person(String name) {
        // this refers to the object being constructed
        this.name = name;
    }

    public void printName() {
        // this refers to the object the method was called on
        System.out.println("My name is " + this.name);
    }
}

public class Test {
    public static void main(String[] args) {
        Person p1 = new Person("Jon");
        Person p2 = new Person("Himanshu");
        p1.printName(); // Prints "My name is Jon"
        p2.printName(); // Prints "My name is Himanshu"
    }
}
或者只是

SlidingMenuAdapter slidingMenuAdapter = new SlidingMenuAdapter(MainActivity.this, listSliding);

this
关键字引用类的当前实例。使用您的类Foo,您可以这样看待它:

SlidingMenuAdapter slidingMenuAdapter = new SlidingMenuAdapter(this, listSliding);
在你的课堂上,这是在高水平上将要发生的事情

// We create an instance of the class here
public Foo myFoo;

如果想了解编译器如何表示对象,可以使用调试器。

关键字引用类的当前实例。使用您的类Foo,您可以这样看待它:

SlidingMenuAdapter slidingMenuAdapter = new SlidingMenuAdapter(this, listSliding);
在你的课堂上,这是在高水平上将要发生的事情

// We create an instance of the class here
public Foo myFoo;

如果想了解编译器如何表示对象,可以使用调试器。

它引用的是类Foo的
私有字符串名称
对象
名称
是在类Foo实例化为变量时创建的。它引用的是类Foo的
私有字符串名称
对象
name
是在将类Foo实例化为变量时创建的。