title: why can not the value of primitive type variable be changed?
body: <pre><code>    public class testtype
  {
    private   int a;
    private double b;
  
     testtype(int a,double b)
    {
      this.a=a;
      this.b=b;
    }
  
    public void maketoequal(testtype oo)
    {
      oo.a=this.a;
      oo.b=this.b;
    }
  
    void trytoequal(int c)
    {
      c=this.a;
    }
  
    public static void main(String[] args)
    {
      testtype t1,t2;
      t1=new testtype(10,15.0);
      t2=new testtype(5,100.0);
      t1.maketoequal(t2);
      System.out.println("after the method is called:"+"\n"+"the value of a for t2 is:"+t2.a
      +"\n"+"the value of b for t2 is :"+t2.b);
      int c=50;
      t1.trytoequal(c);
      System.out.println("the value of c after the method be called is:"+c);
    }
  }
  </code></pre>
  
  <p>why the c is not changed? </p>