1

thisJavaのキーワードを理解しようとしています。this代わりにキーワードを使用して、このコードを書き直したかったのです。私が正しくやったかどうか教えてください。元のコードは次のとおりです。

public class Book {

    private String title;
    private String author;
    private String publisher;

    public Book(String bookTitle, String authorName, String publisherName){
        title = bookTitle;
        author = authorName;
        publisher = publisherName;
    } 
}

そして、書き直したコードは次のとおりです。

public class Book {

    private String title; 
    private String author; 
    private String publisher; 

    public Book(String title, String author, String publisher){
        this.title = title; 
        this.author = author; 
        this.publisher = publisher; 
    }
}

私はそれを正しくしましたか?

ありがとう、

ケビン

編集: 回答ありがとうございます...もう1つの質問: 改訂されたコードのコンストラクターで、等号のどちら側がクラス変数を参照していますか? たとえば、 ではthis.title = title;、コンストラクタまたはクラス変数から変数を this.title参照しますか?title

以下の回答に基づいて、答えはthis.titleクラス変数を参照していると思いますtitle

4

6 に答える 6

2

はい。キーワードは、this「私が今実行しているこのクラスのインスタンス」を意味します。通常、変数またはメソッドの参照には必要ありませんが、コンストラクターのパラメーターが保存されているフィールドと同じ名前を持つこの (一般的な) ケースではthis、フィールドとパラメーターの間でコンパイラーを区別します。

于 2013-10-11T19:13:04.717 に答える
0

「this」を使用すると、クラス/オブジェクト内の同じ名前の変数を簡単に区別できます。

「これ」を正しく使っているように見えます。

ただし、複数の用途に同じ変数名を使用しないように注意してください。この状況では、許容されます。ただし、悪いプログラミングの習慣に陥らないようにするのが賢明です。

于 2013-10-11T19:12:35.020 に答える