Java中为什么要引入包装类?

Java中为什么要引入包装类?

java中为8种基本数据类型又对应的准备了8种包装类
包装类是引用数据类型,父类是Object。

思考:为什么要再提供8中包装类呢?

假设有这样一个方法:它的形式参数是Object型
它能接收所有引用数据类型,因为Object类是所有类的父类,不能接受基本数据类型。
如果我想传一个int型数字进去,该怎么解决?


看下面一个例子:
测试代码:

public class Test01 {

    //形式参数只接受引用类型
    public static void superPrint(Object obj) {
        System.out.println(obj.toString());
    }

    public static void main(String[] args) {
        int i = 100;
        //首先,你得把这个数字进行包装,让一个类带着它传进方法里面

        //实例化一个包装类,保存i的值
        MyInt myInt = new MyInt(i);

        Test01.superPrint(myInt);
    }
}

//自己写一个包装类,保存int数字的类
class MyInt {
    //保存数的值
    private int value;

    //setter and getter
    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    //构造方法
    public MyInt() {

    }

    public MyInt(int value) {
        this.value = value;
    }

    //重写toString()方法
    @Override
    public String toString() {
        return "int型:" + String.valueOf(value);
    }
}

这种包装类是自己写的
以后都不需要写,因为SUN公司已经提供了8种包装类
可以把8种基本数据类型 包装成 引用数据类型。


基本数据类型--------包装类型------------------父类
byte--------------------java.lang.Byte-----------Number
short-------------------java.lang.Short----------Number
int-----------------------java.lang.Integer-------Number
long--------------------java.lang.Long----------Number
float--------------------java.lang.Float----------Number
double-----------------java.lang.Double-------Number
boolean---------------java.lang.Boolean------Object
char--------------------java.lang.Character----Object


8种包装类名也好记
int的包装类是Integer
char的包装类是Character
其他的都是首字母大写变成类名

数字包装类的父类是Number。
Boolean和Character的父类是Object。


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值