请问我想给当前类的对象设置为空值,为什么this关键子会报错啊,代码如下
  public void dead(){
        if(this.age>=7){
             this=null;//这里报左边必须是变量,请问该怎样用this来表示变量哦
}
  }

解决方案 »

  1.   

    这段代码是想自杀哈没必要这样,把指向某个对象的引用设置为null,JVM会自动回收的
      

  2.   

    假设类名是Test 结构如下
    public class Test {
     public void dead(){}
    }要调用方法dead,必须Test t  = new Test(); 
    t.dead();
    可是你想在dead方法中把该类的对象赋值为null,那么就矛盾了,之前new了,调用该对象的方法,方法内部居然把这个对象干掉了,相当于你进入了xp系统,然后想把C盘格式化。这是不可行的。
      

  3.   

    我觉得是不能这样做的,,你为什么想让 对象为null
      

  4.   

    this 代表当前对象。但是this =null是一个复制语句,this 并不是变量,所以语法有错误
      

  5.   

    this 代表当前对象,其用法与super差不多。只能调用,不能赋值
    this = null 是错误的如果你不想用他,就该在不想用的地方将对象设置为null
      

  6.   

    这是不行的,因为this代表当前对象,也就是当前对象的地址,它在使用中就表示它的存在,你又如何能在你需要使用它的时候让它消亡呢,也就是说this为null的话,你根本就不可能调用dead方法,既然能调用dead方法,那么它就不能为null,因为处理还在dead方法中。打个比方,比如你人在屋子里,那么你不可能让屋子为空,因为屋子为空,就不可能会让你使用屋子(因为没有屋子),然而你却在屋子里(也就是说你正在使用屋子),这不是很矛盾吗?