1.数据类型分为引用数据类型和基本数据类型:
  形象的例子:基本数据类型可以理解为给你手头放上10元现金;而引用数据类型则是告诉你10元现金存放在哪儿。你可以通过这个地址找到现金。
  在java中,除了四类八种基本类型外(byte,short,int,long, float,double , char , boolean),所有的类型都称为引用类型(数组,类,接口,字符串)
  2.传递分为值传递和引用传递:
  形象的例子:值传递即是你把10元现金转交给其他人,而引用传递则是你把10元现金存放的位置告诉其他人。
  用简单的代码来理解:
  Plane p = new Plane ();
  Plane p2 = p;
  new Plane ();这句话将在堆内存中开辟一块空间,并且得到了相应的地址。
  Plane s = new Plane ();则是将得到的地址马上给予p;p是引用数据类型并且存放在栈内存中。
  p2 = p;则是将p的地址赋值给p2。
  所以可以理解为,你从头至尾根本没有直接操纵过对象,而是通过地址间接操作对象(像用遥控玩玩具飞机一样)
  此时,p和p2拥有相同的地址,它们操作同一对象,无论是谁改变的都是同一对象的状态(两个遥控操纵同一架飞机)
  int a = 1;
  int b = a;
  a = 2;
  println(b)//输出1
  由于int是基本数据类型,所以此处没有”地址”而是值的传递;int b = a;是将a的值赋予b,所以即使a后来变成了2也不会对b造成任何影响。