为什么要有封装类型:
我们都知道,JAVA中Object这个类是所有类的超类,但实际上呢,八种基本类型并不属于Object。。。假如你思考过这个问题,那么就很明朗了:
public void test(Object obj){
System.out.println(obj);
}
{
test(1);
}
如上,定义的test函数需要一个Object类型的参数,可是1默认是int类型,它跟Object没半毛钱关系,凭什么test函数可以接纳一个int型的参数进去呢?
原因在于int有其对应的封装类型:Integer。
编译器会自动将1变成Integer,而Integer这个封装类型是Object的子类,所以可以向上转型被test函数获取。
可以说,假如没有这套封装类型,那基本类型传参将会是JAVA程序员的噩梦。
封装类型最大的意义正在于此。
项目中对封装类型最广泛的应用:实体类中所有属性均应采用封装类型。原因:基本类型没有null值,而数据库的表中普遍存在null值。