これの価値は何ですか?どこかで C# (this==null) が可能であることを読みました。しかし、Java ではどうでしょうか。つまり、次のフラグメントが返されることはありますtrue
か?
if(this!=null)
{
return false;
}
else
{
return true;
}
if(this!=null)
上記は常に に評価されtrue
ます。つまり、最初のブランチif
が常に実行され、関数は常に を返しますfalse
。
this
することはできませんnull
。これは、オブジェクトの自己インスタンスを参照するためです。また、オブジェクトが既に作成されている場合にのみアクセスされます。
そのため、else ブロックには到達できません。
Java では「this」を null にすることはできません
.....?
if(this!=null)
{
return false;
}
this
null になることのない現在のオブジェクトを意味します。
インスタンス メソッドまたはコンストラクター内では、これは現在のオブジェクトへの参照null
です。
「this」キーワードは、参照している「that」オブジェクトを参照します..
class Sample
{
int age;
Sample(int age)
{
this.age = age; // this.age -> the variable a in the that current instance
}
public void display()
{
System.out.println(age); //age here is actually this.age
}
}
public class XYZ
{
public static void main(String[] args)
{
Sample a,b;
a.display();
b.display();
}
}