这有什么价值?我在某处读到 C# (this==null) 是可能的。但是在 Java 中呢?那,以下片段会返回true
吗?
if(this!=null)
{
return false;
}
else
{
return true;
}
if(this!=null)
上面的结果总是true
,这意味着你的第一个分支if
总是会被执行,并且函数总是返回false
。
"this" 在 Java 中永远不能为空
……?
if(this!=null)
{
return false;
}
this
表示永远不能为空的当前对象。
this
永远不可能null
。因为 this 指的是对象的 self 实例。并且仅在已创建对象时才能访问它。
所以 else 块是无法访问的。
“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();
}
}
只是逻辑地思考 - 这就像说If I don't exist...
。
当前控制代码的东西必须存在,否则代码一开始就不会运行。
在实例方法或构造函数中,this是对当前对象的引用。所以它永远不会是null
。