1.定义:Java中的基本数据类型没有方法和属性,包装类就是将基本数据类型加上方法、属性、构造器之后进行封装,产生一个类,目的是为了使基本数据类型实现对象化交互。
包装类是引用数据类型。
2.对应关系
基本数据类型 包装类 继承关系
byte Byte -->Number-->Object
short Short -->Number-->Object
int Integer -->Number-->Object
long Long -->Number-->Object
float Float -->Number-->Object
double Double -->Number-->Object
char Character -->Object
boolean Boolean -->Object
3.Integer详解
1)查看类的源码可知
(1)Integer类由final修饰,说明这个类不能被继承
(2)Integer类继承了Number类,Number继承了Object类
(3)Integer里实现了Comparable<Integer>等接口
2)属性
被static修饰的类可以不用自己创建对象,可以通过类名.属性名调用
1 public static void main(String[] args) { 2 //属性 3 System.out.println(Integer.MAX_VALUE); 4 System.out.println(Integer.MIN_VALUE); 5 //“物极必反” 6 System.out.println(Integer.MAX_VALUE+1); 7 System.out.println(Integer.MAX_VALUE-1); 8 }
运行结果:
3)构造器:Integer没有空参构造器
查看源码可知,Integer有一个传入int类型参数的构造器,一个传入String类型数据的构造器,但他们最终返回的都是int类型的数据
1 //构造器 2 //调用int类型参数构造器:public Integer(int value) {this.value = value;} 3 Integer i1 = new Integer(10); 4 System.out.println(i1); 5 //这里会返回10,因为这个构造器的功能就是将传入的int类型的数据---value=10,传给this.value 6 //调用String类型参数构造器:这个构造器的parseInt()方法的作用是将String类型的数转换为int类型 7 // public Integer(String s) throws NumberFormatException { 8 // this.value = parseInt(s, 10); //10表示返回的是10进制的数 9 // } 10 Integer i2 = new Integer("15"); 11 System.out.println(i2); 12 //如果传入的是abc这种字符串,就会报如构造器所抛出的异常NumberFormatException 13 Integer i3 = new Integer("abc");
4)常用方法