(引用类型和基本数据类型)一个简单的java问题 先后的赋值问题

import java.util.*;public class TestListAdd {   public static void main(String[] args) {   List list = new ArrayList();   List list1 = new ArrayList();   list.add(list1);   list1.add("a");   System.out.println(list);   int b=0;   int a=b;   b=8;   System.out.println(a);   }}

list集合里面的值可以后改变

简单string里面的值就改变不了

结果:

[[a]]0

List是引用类型,引用类型的赋值只是地址的赋值,这点跟基本类型不一样。

基本类型赋值时 值数据类型赋值 赋值了之后 就不会再改变了。

参考 :http://blog.csdn.net/jww15856816327/article/details/26277927

基本类型(数据类型): int,string等类型

引用类型:类(class),接口(interface),数组

直接打印的话是对象的地址 。

类,也即是对象,包括各种属性,各种方法。常规的基本数据类型例如int类型,在使用的时候,直接使用int进行数据的初始化,例如int a=3;这个语句也即是我定义了一个整数类型的变量a,它的值是3。而引用数据类型,例如People p=new People(“张三”);这就是定以一个类,并进行实例化操作,但这里的p就是代表张三这个类吗?我可以说p就是一个类吗?其实这样的说法不正确,因为我们知道,类是引用数据类型的变量,何为引用数据类型,也就是我new实例化了一个对象,并将其属性值放入相应的存储空间,以堆为例,然后我们定义了一个People类型的句柄,并将上述实例化的对象的地址交给句柄,很象是赋值语句,但这里赋值给p的只是该对象的地址。

new一个对象,也就是说创建了一块地址内存,就占用那块地址,类型引用。

没有伞的孩子必须努力奔跑!

(引用类型和基本数据类型)一个简单的java问题 先后的赋值问题

相关文章:

你感兴趣的文章:

标签云: