redis集群

Java 基本数据类型 和引用数据类型

2018-05-08  本文已影响150人  silencefun

先从一个提问开始。soso 问问清理历史问题,


image.png

https://wenwen.sogou.com/z/q641503020.htm

image.png

很多时候由于 原理基础知识反而显得生疏。

动手敲了一遍。
发现确实是这样子,

想到了是基本数据类型 和引用数据类型的差异。java中数据类型分为基本数据类型和引用数据类型。
参考https://blog.csdn.net/zhzhao999/article/details/53449504的自己尝试做一下笔记:

基本数据类型

 整型:byte,short,int,long
 浮点型:float,double
 字符型:char
 布尔型:boolean

引用数据类型

 数组
 类
 接口

在数据做为参数传递的时候,基本数据类型是值传递,引用数据类型是引用传递(地址传递)。

方法的参数分为实际参数,和形式参数。

形式参数:定义方法时写的参数。
实际参数:调用方法时写的具体数值。

需要注意的是:

String是一个类,类是引用数据类型,做为参数传递的时候,应该是引用传递。但是从结果看起来却是值传递。

原因:

String的API中有这么一句话:“their values cannot be changed after they are created”,
意思是:String的值在创建之后不能被更改。
API中还有一段:

String str = "abc";
等效于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
也就是说:对String对象str的任何修改 等同于 重新创建一个对象,并将新的地址值赋值给str。

值传递的时候,将实参的值,copy一份给形参。
引用传递的时候,将实参的地址值,copy一份给形参。

上一篇 下一篇

猜你喜欢

热点阅读