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

相关推荐

  • 在项目上如何管理好人才

    在项目中管理好人才的核心方法包括明确目标与职责、构建高效沟通流程、激励与个性化管理、培养团队协作、绩效评估与反馈,以及持续学习与发展。在这些中,激励与个性化管理尤为关键,因为它涉及到认识每个团队成员的个人需求、激励因素,并制定针对性的管理措施以提高其投入感和工作满意度,从而推动项目向前发展。 一、明…

    2024年4月10日
    6600
  • 安卓APP和苹果APP的建设区别有哪些

    安卓APP和苹果APP的建设区别有:1、开发工具;2、编程语言;3、APP性能;4、APP部署。在开发工具的使用上,两者有很大的区别。安卓软件的开发,常用开发工具是IDE Android Studio;而 iOS软件的开发,常使用的工具则是XCode,原因是它支持swift编程。 一、开发工具 在开…

    2023年5月13日
    45200
  • 编程新手用用什么软件

    编程新手应该使用什么软件? 编程新手在选定软件时,有三大核心标准: 1、易用性、2、资源丰富性、3、社区支持力度。特别是易用性,对新入门的编程爱好者来说至关重要。易用的软件可以让新手更快地理解编程的基本概念,而不会被复杂的环境配置和繁琐的操作步骤所挫败。例如,对于学习Python编程的新手来说,An…

    2024年4月25日
    1000
  • 编程里什么意思

    摘要 编程是指使用特定的编程语言,编写可供计算机理解和执行的指令集合过程,涉及解决问题的逻辑与步骤。它有以下几个核心要素:1、指令和控制流、2、数据存储和管理、3、用户交互和界面设计、4、软件开发的基本原理和概念。在这些要素中,指令和控制流是构成程序的基础,因为它们定义了程序如何按照既定逻辑顺序来执…

    2024年4月26日
    300
  • okr怎么设定|OKR

    OKR的设定应遵循SMART准则:具体性(Specific)、测量性(Measurable)、可达成性(Attainable)、相关性(Relevant)、时限性(Time-bound),且每一目标通常包含3-5个关键成果(Key Results)。在设定过程中,应确立目标对企业或个人的推动作用,并…

    2024年1月17日
    25800
  • 数据结构到底有什么用

    数据结构的用处:1、管理数据;2、实现代码的可观察性和可读性;3、优化算法;4、实现复杂数据结构;5、优化内存。管理数据是指,通过使用不同类型的数据结构,开发人员可以获得更高的程序效率,从而能够更有效地存储和处理数据以获得功能上的优势。 一、数据结构的用处 1、管理数据 通过使用不同类型的数据结构,…

    2023年4月14日
    1.5K00
  • OKR是否适用于跨部门协作

    确定与结果有关的关键结果(OKR)方法在提高跨部门合作效率方面备受推崇。该方法的主体答案是,OKR非常适用于促进跨部门协作。其核心观点包括 1、明确共同目标,2、增强团队透明度,3、促进责任感,以及 4、激发创新和灵活性。通过设定跨部门的共同目标,OKR有助于将不同团队的努力指向同一个方向。透明的O…

    2023年11月15日
    27800
  • 如何处理进度管理中的冲突

    在项目进度管理中,有效地处理冲突至关重要。适当的冲突解决策略极大地影响团队动力和项目成果。首先要识别冲突的源头,例如资源分配不当、目标设定不清晰或个人之间的沟通问题。接下来,应用调解、仲裁、协商等手段,寻求既能满足项目目标又能维护团队关系的解决方案。沟通的重要性无可置疑,它是协调各方利益、明确每个成…

    2023年12月26日
    25100
  • 国内有哪些制作产品路线图的软件

    国内制作产品路线图的软件有:一、蓝湖;二、Mockplus;三、MindManager;四、Axure;五、ProcessOn;六、Visual Paradigm;七、Gliffy;八、XMind;九、亿欧智库。蓝湖是一款设计协作平台,不仅提供了产品路线图的制作功能,还有设计稿的管理和协作、UI组件…

    2023年3月31日
    87100
  • iOS和Android软件开发之间区别是什么

    iOS和Android软件开发之间区别是什么:1、集成开发环境不同;2、编码语言不同;3、软件性能不同;4、分销平台不同。集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等…

    2023年5月12日
    75700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部