学习笔记——Java中数据类型,对象,传递的通俗理解

来源:互联网 发布:淘宝客怎么帮卖家推广 编辑:程序博客网 时间:2024/06/10 22:11

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造成任何影响。

0 0
原创粉丝点击