包装类
包装类-引入
【1】什么是包装类:
以前定义变量,经常使用基本数据类型,
对于基本数据类型来说,它就是一个数,加点属性,加点方法,加点构造器,将基本数据类型对应进行了一个封装,产生了一个新的类,--》包装类。int,byte.....-->基本数据类型
包装类--->引用数据类型
java中为8种基本数据类型又对应的准备了8种包装类,包装类是引用数据类型,父类是Object。
8种基本数据类型对应的包装类:
注意:8种包装类属于引用数据类型
【2】对应关系:
基本数据类型 对应的包装类 继承关系
包装类的好处
(1) Java语言面向对象的语言,最长的操作各种各样的类
(2)以前学习装数据的数组 nt String doublel Student
以后学习的装数据的集合,有一个特点,只能装引用数据类型的数据
【4】是不是有了包装类以后就不用基本数据类型了?
不是
包装类 - 常用属性 - 常用构造器
【1】直接使用,无需导包:
java. lang
类Integer
【2】类的继承关系:
jara. lang. object
jaya.lang.Number
java. lang. integer
【3】实现接口:
所有已实现的接口;
Serializable,Comparable<Integer)
【4】这个类被final修饰,那么这个类不能有子类,不能被继承:
pubilc final class Integer
extends Number
implements Cosparable<Integer>
【5】包装类是对基本数据类型的封装:
对int类型封装产生了Integer
Integer类在对象中包装了一个基本类型int的值。
Integer类型的对象包含一个int类型的字段。
【6】类的历史:
从以下版本开始:
JDK1.0
代码如图所示:
运行结果如图所示 :
【7】属性:
//属性:
System.out.println(IntegerMAXVALUE);
System.out.println(IntegerMIN VALUE);
//"物极必反"原理:
System.out.println(Integer.MAX VALUE+1);
System.out.println(Integer.MIN VALUE-1);
【8】构造器(发现没有空参构造器)
(1)int类型作为构造器的参数
Integer i2 = new Integer("12");
Inteqer i3 = new Integer("abcdef");
(2)String类型作为构造器的参数
Integer i1 = new Integer(12);
包装类 - 自动装箱 - 自动拆箱
【9]包装类特有的机制:自动装箱、自动拆箱:
//自动装箱:int--->Integer
Integer i = 12;
System.out.println(i);
//自动拆箱:Integer--->int
Integer i2 = new Integer(12);
int num = i2;
System.out.println(num);
(1)自动装箱自动拆箱是从JDK1.5以后新出的特性
(2)自动装箱自动拆箱:将基本数据类型和包装类进行快速的类型转换。
验证: