【1】什么是包装类:
以前定义变量,经常使用基本数据类型,
对于基本数据类型来说,它就是一个数,加点属性,加点方法,加点构造器,
将基本数据类型对应进行了一个封装,产生了一个新的类,---包装类。
int,byte.....>引用数据类型
包装类---->引用数据类型
【2】对应关系:
基本数据类型 对应的包装类 继承关系
【3】已经有基本数据类型了,为什么要封装为包装类?
1.java语言是面向对象的语言,最擅长操作各种各样的类。
2.以前学习装数据的数组,int[] String[] double[] Student[]
以后学习的装数据的集合,有一个特点,只能装引用数据类型的数据
【4】是不是有了包装类以后就不用基本数据类型了?
不是。
Integer类
【1】直接使用,无需导包:
java.lang
类 Integer
【2】类的继承关系:
java.lang.Object
-java.lang.Number
-java.lang.Integer
【3】实现接口:
所有已实现到的接口:
Selializable,Comparable<Integer>
【4】这个类被final修饰,那么这个类不能有子类,不能继承:
public final class Integer
extends Number
implements Comparable<Integer>
【5】包装类是对基本数据类型的封装:对int类型封装产生了Integer
Integer类在对象中包装了一个基本类型int 的值。Integer类型的对象包含一个int类型的字段。
【6】类的历史:
从一下版本开始:
JDK1.0
【7】属性:
public class test01 {//创建类
public static void main(String[] args) {//主方法
System.out.println(Integer.MAX_VALUE);//输出最大值
System.out.println(Integer.MIN_VALUE);//输出最小值
//物极必反原理:
System.out.println(Integer.MAX_VALUE+1);//输出
System.out.println(Integer.MIN_VALUE-1);//输出
}
}
运行结果:
【8】 构造器(发现没有空参构造器)
1.int类型作为构造器的参数:
Integer i1=new Integer(i2);
public class test02 {//创建类
public static void main(String[] args) {//主方法
Integer i1=new Integer(12);//构造器
System.out.println(i1.toString());//输出信息
Integer i2= new Integer("12");//构造器
System.out.println(i2);//输出
}
}
运行结果:
【9】包装类特有的机制:自动装箱 自动拆箱:
public class Test03 {//创建类
public static void main(String[] args) {//主方法
//自动装箱:int--->Integer
Integer i=12;//定义一个Integer对象并赋值
System.out.println(i);//输出
//自动拆箱:Integer --->int
Integer i2=new Integer(12);//创建构造器并传入值
int num=i2;//定义一个int类型的变量并赋值
System.out.println(num);//输出
}
}
1.自动装箱 自动拆箱是从JDK1.5以后新出的特性
2.自动装箱 自动拆箱:将基本数据类型和包装类进行快速的类型转换。
从属与java.lang包(属于这个包意味着直接使用,不用导入包)
类的继承关系
java.lang.Object
java.lang.Number
java.lang.Integer
实现接口
被final修饰,那么这个类不能有子类,不能被继承
包装类是对基本数据类型的封装:对int类型封装产生了Integer。
类的历史
字段摘要 Field Summary
构造方法摘要,可以在idea上点进去看
Integer i1 = new Integer(39);//Integer方法构造
Integer i2 = new Integer("abc");//报错,点进构造方法,发现是NumberFormatException
System.out.println(i2);
1.包装类特有机制,拆箱装箱(底层使用了方法完成,velueOf() 和 intValue() )可以自行断点查看
//自动装箱,int直接变成Integer
Integer i = 3;
//自动拆箱,Interger直接变成int相加
System.out.println(i+1);
2.常用方法,主要查看JavaAPI文档自学,下面列举主要几个方法,可以在idea点进方法查看底层
comperTo() 在数字上比较两个Integer对象。
Integer i = 2;
Integer i1 = 3;
Integer i2 = 3;
System.out.println(i.compareTo(i1));//-1
System.out.println(i1.compareTo(i));//1
System.out.println(i1.compareTo(i2));//0
equals()将对象和指定对象进行比较
Integer i3 = new Integer(13);//通过new创建
Integer i4 = new Integer(13);
System.out.println(i3.equals(i4));//ture,equals被重写
System.out.println(i3 == i4);//false
Int