第十五次作业

本文介绍了Java中的包装类,包括它们的作用、继承关系和特性,如Integer类的构造器、自动装箱和拆箱。此外,还详细讲解了日期处理,如util.Date、sql.Date、SimpleDateFormat、Calendar以及Java 8新增的LocalDate、LocalTime、LocalDateTime和DateTimeFormatter。最后,提到了Math类和Random类的特性,以及String、StringBuilder和StringBuffer的区别和联系。
摘要由CSDN通过智能技术生成

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.Integer

3.被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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值