class Tree

int heigth ;
Tree()
{
  System.out.println("Planting a seeding") ;
 //heigth ;
}
Tree(int i)
{
  System.out.println("Creating new Tree that is ~~~~~~~~"+i+" feeting tall") ;
  //i=this.heigth ;   //在这里this.heigth没有得到i的值,i的值也没改变
  this.heigth=i ;     //在这里this.heigth得到了i的值
}
void info()
{
  System.out.println("Creating new Tree that is ……"+heigth+" feet tall") ;
}
void info(String s)
{
  System.out.println(s+":tree is "+heigth+" feet tall") ;
}
};  public class Overloading
{
public static void main(String[] args)
{
  for (int i=0;i<5 ;i++ )
  {
  Tree t=new Tree(i) ;
  t.info() ;
          t.info("overloading method ") ;
  }
  new Tree() ;
}
};主要问题是this.heigth=i与i=this.heigth 得到的值为什么会不一样呢?是什么原因.