什么叫包装类-java语言中有哪些包装类-,java面向对象的封装性

  什么叫包装类?java语言中有哪些包装类?,java面向对象的封装性

  00-1010一、什么是包装二类。III类包装的使用。包装类的实际使用(以Int和Integer为例)Int和Integer类之间的转换II。integer类IV中的常用方法。1.Java常见面试题中int和integer的区别?2.判断以下程序片段的输出结果:摘要

  00-1010包装类):Java是面向对象的编程语言,但是Java中的八种基本数据类型都不是面向对象的。为了方便使用,解决这个不足,在设计类的时候设计了一个对应的类来表示每一种基本数据类型,这样八种基本数据类型对应的类统称为包装类,包装类都位于java.lang包中。

  00-1010 Java为了方便使用,把基本数据类型封装在8中:除了整数类和字符类,其他六个类的类名和基本数据类型都是,只有类名的首字母可以大写。

  boolean-boolean char-character byte-byte short-short long-Longint-integer float-float Double-Double

  对于包装类别,有两个主要用途:

  A.它作为基本数据类型对应的类类型存在,方便涉及对象的操作。

  b、包括每个基本数据类型的相关属性,如最大值、最小值等。以及相关的操作方法。

  

目录

 

  00-1010在实际转换中,使用Integer类的构造方法和Integer类内部的intValue方法来实现这些类型之间的转换:

  //int n=5;整数n1=新整数(n);System.out.println(int类型转换为integer类: n1 );//Integer I=新整数(50);int i1=I . int value();System.out.println(integer类转换为int类型: i1 );

  

一、什么是包装类

Integer类的主要方法有:parseInt方法和toString方法。

 

  //parseInt方法:数值字符串类型转换为Int类型字符串ss= 123int ii=integer . parse int(ss);System.out.println(字符类型转换为整数: ii );//toString方法:int类型转换为数值字符串类型int ii2=123string ss2=integer . tostring(ii2);System.out.println(int类型转换为数值字符串类型: ss);从1.5版本开始,JDK引入了自动拆盒的语法,即当基本数据类型和对应的封装类转换时,系统会自动进行,这将极大地方便程序员编写代码。

  自动装箱:将基本数据类型封装成对象类型,以符合java的面向对象思想。

  自动拆箱:将对象转换回基本数据类型。

  //5是基本数据类型,通过自动装箱成为对象类型。//编译器执行了integer III=integer . value of(5)integer III=5;//自动拆箱,实际执行int iii 2=iii。int value()int iii 2=iii;system . out . println(iii 2);Value()源代码分析:

  public static Integer value of(int I){ assert Integer cache . high=127;if(I=integer cache . low I=integer cache . high)retu

  rn IntegerCache.cache[i+ (-IntegerCache.low)]; return new Integer(i); }说明:Integer iii=5;相当于编译器执行了Integer iii = Integer.valueOf(5)操作。这个方法就是返回一个 Integer 对象,只是在返回之前,看作了一个判断,判断当前 i 的值是否在 [-128,127] 区别,且 IntegerCache 中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新的对象。

  3.包装类的缓存值

  各个包装类缓存值范围 :

  

boolean:true和falsebyte:-128~127char:0~127short:-128~127int:-128~127long:-128~127

 

  

特别注意:对于float和double没有缓存。

 

  在对上述值进行装箱的时候(如:Character c1=127;or Integer i= Integer.valueOf(1); 这个不行哦:Integer i2=new Integer(1);因为这是新建了一个对象出来。),并不是创建一个新对象而是使用缓存中的对象,如果超出范围则需要新建立对象。

  

 

  

四、常见的面试题

 

  

1.Java中Int与Integer的区别?

一、int 是基本类型,直接存数值;而integer引用数据类型。

 

  二、Int的声明不需要实例化,且变量声明后的初始值为0;Integer的是一个类,初始值为null,需要进行实例化,才能对变量数据进行处理。

  三、Integer类是int的包装类,实际开发中Integer被看成一个对象,可以进行数据转换等操作。

  

 

  

2.判断下面程序片段输出的结果:

 Integer num1 = 200; Integer num2 = 200; System.out.println("num1==num2: "+(num1==num2)); Integer num3 = 100; Integer num4 = 100; System.out.println("num3==num4: "+(num3==num4));

输出结果:num1num2:false 和num3num4:true

 

  说明:

  首先要明确equal方法与的区别:

  equals() 比较的是两个对象的值(内容)是否相同。

  "" 比较的是两个对象的引用(内存地址)是否相同,也用来比较两个基本数据类型的变量值是否相等。

  java定义:在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用,始终只存在一个对象而如果超过了从–128到127之间的值,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个 Integer对象;

  

 

  

总结

到此这篇关于Java面向对象之包装类的文章就介绍到这了,更多相关Java包装类内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: