1.包装类
对于基本数据类型来说,它就是一个数,加点属性,加点方法,加点构造器,将基本数据类型对应进行了一个封装,产生了一个新的类,---包装类。
int,byte.....>引用数据类型
包装类---->引用数据类型
2.对应关系
基本数据类型 对应的包装类 继承关系
3.已经有基本数据类型了,为什么要封装为包装类?
1.java语言是面向对象的语言,最擅长操作各种各样的类。
2.以前学习装数据的数组,int[] String[] double[] Student[]
以后学习的装数据的集合,有一个特点,只能装引用数据类型的数据
Integer类
(1)直接使用,无需导包:
java.lang
类 Integer
(2)类的继承关系:
java.lang.Object
-java.lang.Number
-java.lang.Integer
(3)实现接口:
所有已实现到的接口:
Selializable,Comparable<Integer>
(4)这个类被final修饰,那么这个类不能有子类,不能继承:
public final class Integer
extends Number
implements Comparable<Integer>
(5)包装类是对基本数据类型的封装:对int类型封装产生了Integer
Integer类在对象中包装了一个基本类型int 的值。Integer类型的对象包含一个int类型的字段。
(6)构造器(发现没有空参构造器)
1.int类型作为构造器的参数:
Integer i1=new Integer(i2);
注:
1.从属与java.lang包(属于这个包意味着直接使用,不用导入包)
2.类的继承关系
java.lang.Object
java.lang.Number
java.lang.Integer3.被final修饰,那么这个类不能有子类,不能被继承
4.继承了接口和抽象类必须实现里面的方法。
包装类特有机制,拆箱装箱(底层使用了方法完成,velueOf() 和 intValue() )可以自行断点查看
//自动装箱,int直接变成Integer
Integer i = 3;
//自动拆箱,Interger直接变成int相加
System.out.println(i+1);
comperTo() 在数字上比较两个Integer对象。
Integer i = 2;
Integer i1 = 3;
Integer i2 = 3;
System.out.println(i.compareTo(i1));//-1
System.out.println(i1.compareTo(i));//1
System.out.println(i1.compareTo(i2));//0
equals()将对象和指定对象进行比较
Integer i3 = new Integer(13);//通过new创建
Integer i4 = new Integer(13);
System.out.println(i3.equals(i4));//ture,equals被重写
System.out.println(i3 == i4);//false
Integer i5 = 1;//通过自动装箱创建
Integer i6 = 2;
System.out.println(6.equals(i5)); //ture,equals被重写
System.out.println(i6 == i5); //ture,当自动装箱的值在-128~127之间自动装箱返回的是数,否则是地址
intValue()以 int 类型返回该Integer的值parseInt()将字符串转成 int 类型
toString()返回一个表示该Integer的字符串
二、日期相关类
1. util.Date
Date d = new Date();
System.out.println(d);
System.out.println(d.toGMTString());//有横线花掉的是过失、过期、废弃方法
System.out.println(d.toLocaleString());
System.out.println(d.getTime());
System.out.println(System.currentTimeMillis());//效果一样,但是用第二个,因为是静态方法,快!第一个因为要创建对象,所以不够第二个效率高
//currentTimeMillis()是本地方法,没有方法体,因为方法体的实现不是通过Java写的
2. sql.Date
Date d = new Date(1592055964263L);
System.out.println(d);
/*
1. 区别
java.util.Date:年月日 时分秒
java.sql.Date:年月日
2. 联系
sql.Date 继承自 util.Date
3. 转换
*/
//util-->sql
java.util.Date d1 = new D