string java 引用类型_String和数组,在java中是引用类型-关于引用的理解

59141_1587076_1.jpg个人关于引用的理解:首先Java“摒弃”了C语言的指针。这里的摒弃的含义是:Java不让我们使用指针,而Java系统自己仍在大用特用指针。于是就是引用的概念。

在Java中,数组和字符串都不是基本数据类型,而它们被当作类来处理,它们是引用数据类型。

例1:Java中使用String类创建的对象来引用字符串

public class hello

{

public static void main(String[] args)

{String a="abc";//1句

String b=a;//2句

a="jjj";//3句

System.out.println(b);//4句}

}

1句:先进行赋值号‘=‘右边的,"abc"为一个字符串的常量,此时系统自动为其分配内存空间存储它。而String a后,a为引用数据类型,a就指向了刚才分配的内存空间。

2句:b同样为引用数据类型,将a赋给b,所以b也指向了字符串常量"abc"的内存空间。

3句:先进行赋值号‘=‘右边的,"jjj"为一个字符串常量,此时系统自动为其分配内存空间储存它。a为引用数据类型,a指向了字符串常量"jjj"的内存空间,不再指向字符串常量"abc"的内存空间。

4句:由于b仍指向字符串常量"abc"的内存空间,没有改变,所以输出结果是"abc"。

例2:

public class hello

{

public static void main(String[] args)

{int[] c={1,2,3};//1句

int[] d=c;//2句

c=new int[4];//3句

for(int i=0;i

{

System.out.print(d[i]+" ");

}   System.out.println("");

}

}

1句:赋值号右边{1,2,3} (相当于new int[3])系统分配了长度为3的int型数组的内存空间。而c为引用数据类型,指向了该内存空间。

2句:d也是引用数据类型,c赋给d,所以d也指向了上面的长度为3的int型数组的内存空间。

3句:赋值号右边new int[4],系统分配了长度为4的int型数组的内存空间。c指向该内存空间,而不再指向以前的内存空间了。而此时d仍指向1句中的内存空间。

所以"4循环"将输出 1 2 3

例3:

public class hello

{

public static void main(String[] args)

{int[] e={2,3,4};//1句

int[] f=e;//2句

e[0]=100;//3句

for(int i=0;i

{

System.out.print(f[i]+" ");

}   System.out.println("");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值