7

これの価値は何ですか?どこかで C# (this==null) が可能であることを読みました。しかし、Java ではどうでしょうか。つまり、次のフラグメントが返されることはありますtrueか?

 if(this!=null)
 {
     return false;
 }
 else
 {
     return true;
 }
4

7 に答える 7

7
if(this!=null)

上記は常に に評価されtrueます。つまり、最初のブランチifが常に実行され、関数は常に を返しますfalse

于 2013-06-29T09:35:12.530 に答える
1

thisすることはできませんnull。これは、オブジェクトの自己インスタンスを参照するためです。また、オブジェクトが既に作成されている場合にのみアクセスされます。

そのため、else ブロックには到達できません。

于 2013-06-29T09:36:51.913 に答える
1

Java では「this」を null にすることはできません

.....?

if(this!=null)
{
 return false;
}
于 2013-06-29T09:38:17.640 に答える
1

thisnull になることのない現在のオブジェクトを意味します。

于 2013-06-29T09:39:37.733 に答える
0

インスタンス メソッドまたはコンストラクター内では、これは現在のオブジェクトへの参照nullです。

于 2013-06-29T09:35:22.407 に答える
0

「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();
 }
}
于 2013-06-29T09:40:43.903 に答える