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" 在 Java 中永远不能为空

……?

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

this表示永远不能为空的当前对象。

于 2013-06-29T09:39:37.733 回答
1

this永远不可能null。因为 this 指的是对象的 self 实例。并且仅在已创建对象时才能访问它。

所以 else 块是无法访问的。

于 2013-06-29T09:36:51.913 回答
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 回答
0

只是逻辑地思考 - 这就像说If I don't exist...

当前控制代码的东西必须存在,否则代码一开始就不会运行。

于 2013-06-29T15:17:41.410 回答
0

在实例方法或构造函数中,this是对当前对象的引用。所以它永远不会是null

于 2013-06-29T09:35:22.407 回答