Object类
Java继承体系中最终的父类
在Java中,我们自定义的类还是Java中自带的某个类,这些类的最终父类都是Object。
public class Object
含义:Object已经是最终父类了 所以此处没有父类
private static native void registerNatives();
含义:本地方法 主要用于在内存中注册对象信息 用于创建对象使用的
private 子类能继承 但不能访问
static {
registerNatives();
}
含义:静态代码块,在类加载的时候就执行了
public final native Class<?> getClass();
含义:本地方法 获取JVM运行时的字节码文件对象 反射知识中会学到
final 修饰函数 不能被子类重写
public native int hashCode();
含义:本地方法 获取对象的哈希值-作为元素在哈希表中存储位置
默认内容 就是对象在堆内存中的地址
子类可以重写 在哈希表中 子类的哈希值应该由子类的内容来决定
public boolean equals(Object obj) {
return (this == obj);
}
含义:对比当前 对象this 与 传入对象obj 的相等性
Object中 默认比两个对象的地址
== 其实比的就是两个变量空间中的内容
基本数据类型 == 比的就是常量值
引用数据类型 == 比的就是地址值
基本数据类型包装
byte Byte
short Short
int Integer
long Long
缓存范围:-128~127
char Character
缓存范围:0~128
float Float
double Double小数点无缓存
String与StringBuilder与StringBuffer
public final class String
含义:String不能再被继承了
implements java.io.Serializable, Comparable<String>, CharSequence
含义:Serializable表示字符串可以被序列化存储到硬盘
Comparable 表示字符串自身具有可比较的功能
public int compareTo(T o);
CharSequence 表示字符串是一个字符序列
int length();
char charAt(int index);
private final char value[];
含义:字符串本身就是一个字符数组
数组本身长度一旦确定,则不可改变
数组中的元素可以改变的
final 数组的对象不能改变 但是内部的元素依旧可以改变
private 禁止外界访问
BigInteger与BigDecimal
在Java中 long与double是最长的基本数据类型8字节-64位
如果在计算中超出了字节范围,则会溢出
对于大型数字的计算 推荐使用这俩
无论是BigInteger还是BigDecimal,它们的本质其实就是数组
时间类
java.util.Date 日期类
java.sql.Date 子类 年月日
java.sql.Time 子类 时分秒java.sql.Timestamp 子类 年月日时分秒
java.util.Calendar 日历类
java.text.DataFormat 日期格式化类
java.text.SimpleDateFormat 子类