我之前总有这种感觉,一会又想不起来了Number类和Object类了,可能就是基础不牢固原因吧。今天就趁此机会好好复习一下这两个类

1、Number类

(1)复习一下基础

  • 基本数据类型:byte、int、short、long、double、float、boolean、char;
  • 封装类型八种:Byte、Integer、Short、Long、Double、Float、Character、Boolean;
  • 包装类型都是用final声明了,不可以被继承重写;
  • 在实际情况中编译器会自动的将基本数据类型装箱成对象类型,或者将对象类型拆箱成基本数据类型

(2)Number类里面有的方法

public abstract class Number implements java.io.Serializable {

    public abstract int intValue();

    public abstract long longValue();

    public abstract float floatValue();

    public abstract double doubleValue();

    public byte byteValue() {
        return (byte)intValue();
    }

    public short shortValue() {
        return (short)intValue();
    }

    private static final long serialVersionUID = -8742448824652078965L;
}

java 里面的Number javanumber类型_java

  • 这些方法都是用来:提供了将包装类型拆箱成基本类型的方法,所有基本类型(数据类型)的包装类型都继承了该抽象类【java内部的机制也是来调用这些方法来实现】

2、Object类

上一篇我的文章JAVA目录里面有一篇文章是写关于继承,封装,多态的。没错我要写Object就是要写到继承。先亮出理论,所有的类都继承了Object类。

java 里面的Number javanumber类型_java 里面的Number_02


那这个Object类到底是何方神圣呢?这么强

(1)类关系理解

我们编写的所有类都基础了Object类,这是java的机制所实现的。java虚拟机通过这类和Class类对我们所有的类进行管理,不管理编写多少个类,只要继承了Object,java就相当于一个容器,你随便加,它直接进行处理。
可能有的人学到了框架,像你开发的Servlet实现类一样,你去继承了Servlet接口,然后丢到Servlet容器里面,你编写的Servlet实例都能被Servlet识别,进行处理。

(2)Object里面的方法

这个有点太多了,如果各位想要了解的话,那你可以去看JDK文档,或像我这样在IDEA中用Ctrl + 鼠标左键的形式查看

java 里面的Number javanumber类型_算法_03


其实也好看,这样进行查看,比较常用的方法包括了这些。

我的javaHello类里面没有编写什么吧,但是可以点出来的方法,大部分都是Object的方法。

java 里面的Number javanumber类型_包装类_04