难以理解程序输出

Nik*_*k88 0 java oop object

这是一个程序

public class MovieTitle {
    public static void main(String[] args) {
        Movie one = new Movie();
        one.title = "I am title";
        one.playIt();
        System.out.println(one.title);
    }
}

class Movie {
    String title;
    void playIt() {
        this.title = "I am title of movie";
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是"我是电影的标题" 我试图理解它,但直到现在我还是不理解它.我想知道:为什么不打印"我是头衔"

Thi*_*ilo 5

事件顺序:

// create a new Movie called "one"
Movie one = new Movie();

// at this point, one.title is still null

// set the title to "I am title"
one.title = "I am title";

// call playIt, which in turn ...
one.playIt();
   // sets the title to something else again
   => this.title = "I am title of movie";
Run Code Online (Sandbox Code Playgroud)

如果你在打电话之前打印了标题playIt,它仍会显示为"我是标题".