2022年引用数据类型和基本数据类型知识 .pdf

上传人:C****o 文档编号:42654556 上传时间:2022-09-16 格式:PDF 页数:4 大小:63.44KB
返回 下载 相关 举报
2022年引用数据类型和基本数据类型知识 .pdf_第1页
第1页 / 共4页
2022年引用数据类型和基本数据类型知识 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年引用数据类型和基本数据类型知识 .pdf》由会员分享,可在线阅读,更多相关《2022年引用数据类型和基本数据类型知识 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、引用数据类型和基本数据类型的一些区别首先先举几个引用数据类型的例子:String StringBuffer 类(包括自己定义的一些类和包中有的类)integer 等下面的是基本数据类型Int double char Boolean 等表面上可以看出两个区别(单从类的角度来看):1.引用数据类型必须要实例化之后才可以使用,(String 和integer 除外)注:String 是一个很特殊的引用数据类型Inteter 是在在使用的过程中会自动的装箱和拆箱例如:StringBuffer sb=new StringBuffer();2.引用数据类型或多或少的会有一些属性和方法例如:类里面包含的就是

2、属性和方法,比如StringBuffer 里面就有append()方法还有 charAt()方法深入点看:3.引用数据类型是指针的指向,基本数据类型则在内存中直接得到1.下面一个列子是一个值传递的过程例如:下面是一个类的方法publicvoid changeNumber(int a,int b)int temp=a;a=b;b=temp;System.out.println(交换后的两数 a=+a+b=+b);在main 方法中 publicstaticvoid main(String args)/实例化的一个过程Exam9 ex=new Exam9();int a=10;int b=5;Sy

3、stem.out.println(交换前的两数 a=+a+b=+b);/调用交换的方法ex.changeNumber(a,b);System.out.println(方法调用后的两数 a=+a+b=+b);名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -运行的结果是:交换前的两数 a=10 b=5 交换后的两数 a=5 b=10 方法调用后的两数 a=10 b=5 这个是许多人都会犯的错误,包括我也犯了这个错误就是:方法调用后的两数 a=5 b=10 解释:a变量和 b变量在内存中的值已经有了,并且值是固定的基本数据类型的传递是一个值传递的过程2.下面的一个例子是一个引

4、用类型的传递里面有一个user 类:里面有一个属性:String name=“tom”;publicvoid changeName(User user,String name)user.name=name;User user=new User();System.out.println(更改前的用户姓名:+user.name);/调用更改名字的方法ex.changeName(user,jack);System.out.println(更改后的用户姓名:+user.name);结果是:更改前的用户姓名:tom 更改后的用户姓名:jack这个是个引用的数据类型,名师资料总结-精品资料欢迎下载-名师精

5、心整理-第 2 页,共 4 页 -引用数据类型就是一个指针的一个指向。4.这个例子也是一个引用数据类型的例子publicvoid change(StringBuffer bufferA,StringBuffer bufferB,StringBuffer bufferC)bufferA=new StringBuffer(AA);bufferB.append(B);bufferC=bufferA;bufferC.append(C);System.out.println(方法中:);System.out.println(bufferA);System.out.println(bufferB);Sys

6、tem.out.println(bufferC);/*paramargs*/publicstaticvoid main(String args)StringBuffer bufferA=new StringBuffer(A);StringBuffer bufferB=new StringBuffer(B);StringBuffer bufferC=new StringBuffer(C);Exam10 ex=new Exam10();名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -ex.change(bufferA,bufferB,bufferC);System.out.

7、println(方法外 );System.out.println(bufferA);System.out.println(bufferB);System.out.println(bufferC);运行的结果:方法中的值大家都会的:方法中:AAC BB AAC 方法外A BB C关键是方法外面的System.out.println(bufferA);这个比较难理解:因为在方法体内部,有实例化了一个A对象,所以在方法里面的bufferA 指向的是方法里面的A 对象。和外面的没有联系。所以外面的还是指向原来的A对象,所以结果是A。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁