Java的封装类型和原始类型的区别

Java的封装类型和原始类型的区别:1、传递方式不同;2、封装类可以有方法和属性;3、默认值不同;4、存储位置。封装类是引用类型。原始数据类型在传递参数时都是按值传递,而封装类型是按引用传递的(其实“引用也是按值传递的”,传递的是对象的地址)。

Java的封装类型和原始类型的区别-Worktile社区

1、传递方式不同

封装类是引用类型。基本类型(原始数据类型)在传递参数时都是按值传递,而封装类型是按引用传递的(其实“引用也是按值传递的”,传递的是对象的地址)。由于包装类型都是不可变量,因此没有提供改变它值的方法,增加了对“按引用传递”的理解难度。

int是基本类型,直接存放数值;Integer是类,产生对象时用一个引用指向这个对象。

2、封装类可以有方法和属性

封装类可以有方法和属性,利用这些方法和属性来处理数据,如Integer.parseInt(Strings)。基本数据类型都是final修饰的,不能继承扩展新的类、新的方法。

3、默认值不同

基本类型跟封装类型的默认值是不一样的。如int i,i的预设为0;Integer j,j的预设为null,因为封装类产生的是对象,对象默认值为null。

4、存储位置

基本类型在内存中是存储在栈中,引用类型的引用(值的地址)存储在栈中,而实际的对象(值)是存在堆中。

虽然基本类型在栈上分配内存效率高,但是在堆栈上分配内存可能有内存泄漏的问题。

延伸阅读:

什么是原始类型?

在计算机科学中,原始类型(英语:Primitive type)有别于复合类型,是由编程语言提供的数据类型,作为创建基础。根据语言及其实现,在电脑的存储器中,原始类型可能没有与对象一对一的对应。

原始类型的实际范围,取决于所使用的特定编程语言。例如,在C语言中,字符串是一个复合类型,不过在后来的Basic中,字符串是原始类型。

通常预期以基于原始类型的运算,构成较快速的语言。整数加法,例如,可以运行单一的机器指令,且部分处理器提供特定的指令,以单一指令处理一系列的字符。尤其是,C语言标准中提到,“一个‘简单’的int对象,具有原始的大小,其大小以运行环境的架构所暗示。”意即在32位架构下的int,可能就是32位的长度。

大部分语言不允许以程序修改原始类型的行为或性能。例外的有Smalltalk,其允许在程序内部扩展原始类型。可以在其上运行加入的运算,甚至重新定义内置的运算。

文章标题:Java的封装类型和原始类型的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37906

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编站长
上一篇 2023年2月13日 上午2:26
下一篇 2023年2月13日 上午2:28

相关推荐

  • 业务流程管理系统有哪些功能

    业务流程管理系统的功能有:1、系统管理;2、客户、供应商、产品管理;3、销售管理;4、项目管理;5、财务管理;6、知识库;7、统计分析;8、流程定义。业务流程管理系统通过现代化的工作流软件技术手段,将管理线路规范化、标准化和流程自动化,有效地提高业务运作效率,降低成本,为实现企业的战略目标提供保障。

    2022年11月16日
    53701
  • 哪些技术正推动可穿戴设备的创新

    可穿戴设备的创新正被一系列尖端技术所推动。1、微型化技术使得可穿戴设备更加轻巧便捷;2、增强现实(AR)与虚拟现实(VR)技术将现实世界与虚拟信息无缝结合;3、柔性电子技术让设备更加舒适地贴合身体;4、能量收集与无线充电技术确保持续的电源供应;5、生物识别技术提高了健康监测的准确性与实用性;6、高速…

    2023年11月30日
    1100
  • pingcode和worktile哪个好用

    pingcode和worktile各有各的优点。PingCode是一个针对产品研发团队的进度计划管理软件,能满足目标、项目、任务、需求、迭代规划、测试、缺陷、版本发布等研发过程的管理。Worktile是一个在业务部门或者产品部门都可以使用企业级项目协作与目标管理软件。 PingCode PingCo…

    2023年3月31日
    1.5K00
  • 企业里项目管理是什么意思

    项目管理是一种管理方法,用于规划、组织、控制和管理企业内部的项目。它是一种系统化的方法,可以确保每个项目都能按照计划实施。它的意义包括:一、提高项目成功率;二、优化资源利用;三、提高项目团队的效率;四、管理项目风险;五、提高项目绩效。 项目管理是一种管理方法,用于规划、组织、控制和管理企业内部的项目…

    2023年4月30日
    7000
  • 怎样快速知道一个程序是什么语言编写的

    windows上的话,不考虑脚本语言,只说exe及dll,常用的做法是使用工具ExeinfoPE来查看,该工具可查看一个可执行文件是否被加壳加密,如果未被加壳加密,那么就可以查看推测的编写语言。 windows上的话,不考虑脚本语言,只说exe及dll,常用的做法是使用工具ExeinfoPE来查看,…

    2023年2月8日
    3.4K00
  • 电源ic有哪些芯片

    电源ic有以下芯片:1、LDO;2、DC/DC;3、PWM;4、功率MOSFET;5、AC/DC调制IC;6、电池充电和管理IC;7、热插板控制IC。LDO全称为Low Dropout Regulator,是一种低压差线性稳压器,顾名思义是线性的稳压器,也就是输出电压必须小于输入电压。

    2023年1月10日
    31500
  • 如何选择适合的Wiki软件

    选择合适的Wiki软件对于组织知识管理与协作效率至关重要。确定最佳Wiki软件时,考虑因素包括用户友好度、定制能力、权限控制、数据管理。有效的Wiki软件应简化信息分享、协调团队工作流程、支持内容创建与编辑。用户友好度保证软件易于学习与使用;定制能力允许软件与组织特定需求相适应;权限控制确保信息安全…

    2023年11月15日
    1900
  • 知识管理的主要内容是什么

    知识管理的主要内容包括以下几方面:1、知识的获取;2、知识的共享与传播;3、知识的运用;4、实现供应链知识管理的基础性活动。知识管理融合了现代信息技术、知识经济理论、企业管理思想和现代管理理念。

    2022年11月7日
    49200
  • PHP 和 Java 的主要区别有哪些

    PHP和Java的主要区别有:1、技术层⾯区别;2、开发效率区别;3、开发成本区别;4、安全区别;5、访问数据库速度区别。Java是编程语⾔,功能很强⼤,分⽀众多。PHP吸收了Java等编程语⾔的优点,专注与做互联⽹领域,在web领域有得天独厚的优势。

    2023年2月7日
    38600
  • gnss和gps的区别

    gnss和gps的区别:1、定义不同;2、应用不同;3、系统覆盖范围不同;4、卫星数量不同;5、精度和可靠性不同。定义不同是指GPS是一种以空中卫星为基础的高精度无线电导航的定位系统,GNSS指全球导航卫星系统,利用一组卫星的伪距、星历、卫星发射时间等观测量。 一、gnss和gps的区别 1、定义不…

    2023年3月19日
    2.5K00

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部