449-JavaSE进阶-装箱和拆箱的概念 450-JavaSE进阶-Integer的构造方法

  • Number 类

    • Number 里面有方法
  • 为什么出现了一个划横线的,对象已过时

package com.bjpowernode.javase1.integer1;

/*
1、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)

3、八种包装类中其中6个都是数字对应的包装类,他们的父类都是Number,可以先研究一下Number中公共的方法:
    Number是一个抽象类,无法实例化对象。
    Number类中有这样的方法:
        byte byteValue() 以 byte 形式返回指定的数值。
        abstract  double doubleValue()以 double 形式返回指定的数值。
        abstract  float floatValue()以 float 形式返回指定的数值。
        abstract  int intValue()以 int 形式返回指定的数值。
        abstract  long longValue()以 long 形式返回指定的数值。
        short shortValue()以 short 形式返回指定的数值。
        这些方法其实所有的数字包装类的子类都有,这些方法是负责拆箱的。

    */
public class IntegerTest02 {
    public static void main(String[] args) {
        //装箱 基本数据类型 --> 引用数据类型
        //构造方法
        Integer qwe = new Integer(123);  //装箱操作
//        Float qwe = new Float(123.0);
        //拆箱 引用数据类型 --> 基本数据类型
        //调用value方法
        /*强制类型转换:从大类型到小类型,需要强制转换符实现强制转换*/
        float i = qwe.floatValue();

//int a3 = (int) qwe.floatValue();这里转换需要加强制转换,而上面的 Integer --> floatValue 转换这是
//基本数据类型 和 引用数据类型 的转换
        System.out.println(i);

        Float a1 = new Float(123.0);
        int a2 = a1.intValue();
        System.out.println(a2);
    }
}

输出:
123.0
123

进程已结束,退出代码 0
posted @ 2020-10-20 19:50  nkndlawn  阅读(97)  评论(0)    收藏  举报