クラス内でthisを使うと、それはそのクラスオブジェクトインスタンス自身の参照を指す・・・。
いろいろ使い方はあるが、例えば、メンバフィールドと引数を区別するのに使う・・・。
Class1.javaで、
メンバフィールドはint型のiとStringクラスのstrである・・・。
対して、これらの4つのメソッドの引数には、int型iとStringクラスstrが使われている・・・。
この場合、そのままだと引数なのかメンバなのか判断できない・・・。
しかし、this.iや、this.strとしているので、これらはオブジェクトインスタンス自身のフィールドのiやstrであることがわかる・・・。
thisが付いていないiやstrは、引数のほうのiやstrであると判断される・・・。
outputのように、引数でフィールドと同じ名前を使っていなければ、thisは付けなくてもいい・・・。
またこれを実行する・・・。
i = 0, str = - i = 10, str = - i = 10, str = ABC i = 20, str = XYZ
問題なく動く・・・。
Sample/MainClass.java at master · bg1bgst333/Sample · GitHub
Sample/Class1.java at master · bg1bgst333/Sample · GitHub