java面向对象 this的内存原理示例


下面是一个使用this关键字的示例:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + this.name + ", and I am " + this.age + " years old.");
    }

    public static void main(String[] args) {
        Person person1 = new Person("Alice", 25);
        Person person2 = new Person("Bob", 30);
        person1.sayHello(); // 输出:Hello, my name is Alice, and I am 25 years old.
        person2.sayHello(); // 输出:Hello, my name is Bob, and I am 30 years old.
    }
}

在这个示例中,我们定义了一个Person类,它有两个成员变量:name和age。在构造函数中,我们使用this关键字来引用当前对象,然后将传入的参数赋值给成员变量。在sayHello()方法中,我们也使用this关键字来访问当前对象的成员变量。

在main方法中,我们创建了两个Person对象,然后分别调用它们的sayHello()方法。当我们调用person1.sayHello()方法时,this关键字会指向person1对象;而当我们调用person2.sayHello()方法时,this关键字会指向person2对象。这样,我们就可以正确地输出每个人的名字和年龄。

需要注意的是,这里我们使用的是非静态方法sayHello(),因此在方法中可以使用this关键字。如果我们将sayHello()方法声明为静态方法,就不能使用this关键字了。


原文链接:codingdict.net