【JAVA入门】JAVA常用类

本文介绍了JAVA中的常用类,包括Object类的toString和equals方法,Objects工具类,Date类的构造和getTime方法,DateFormat和Calendar类,System类,StringBuilder类的构造和成员方法,以及8个包装类的装箱和拆箱概念。
摘要由CSDN通过智能技术生成

第一章 Object类


1.1 概述

java.lang.object类是JAVA语言中的根类,即所有类的父类。
若某个类未特别指定父类,则默认继承自Object类。
java.lang包在使用时不需要导入,但其他包在使用前需要人工导入。

1.2 toString方法

Obeject类中的toString方法源码:

String toString(); // 返回对象的字符串表示形式

public String toString() {
    
	return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

注意点:

  1. 若类未继承其他类,而是默认继承了Object类,则toString方法返回类对象的地址。
  2. 自定义类必须重写toString函数。
  3. 打印对象的值 与 打印对象调用toString函数后的值相同。若类未重写toString函数,则直接打印对象的地址,否则打印toString函数体实现的内容。
 public static void main(String[] args) {
   

        Person p1 = new Person("WCW", 18);

        // 类Person未重写toString函数,则如下打印的值相同
        System.out.println(p1);               // BlackHorse.Person@16d3586
        System.out.println(p1.toString());    // BlackHorse.Person@16d3586

    }

1.3 equals方法

Object类中的equals方法:

public boolean equals(Object obj) {
    
     return (this == obj);
}

1.Object中equals函数比较两个Object实例的地址是否相同,相同返回true,否则返回false。
2.定义类时可重写equals方法。

1.4 Objects工具类

在JDK7添加了一个Objects工具类(java.util.Objects),它提供了一些静态方法来操作对象。

在比较两个对象是否相等时,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法则优化了这个问题:

    // Objects工具类中equals方法的源码
    public static boolean equals(Object a, Object b) {
   
        return (a == b) || (a != null && a.equals(b));
    }
public class Application {
   

    public static void main(String[] args) {
   

        Person p1 = null;
        Person p2 = new Person("WCW", 18);

        // 报异常:NullPointerException
        // null不能调用方法,会抛出NullPointerException
        boolean b = p1.equals(p2);

    }
}

第二章 日期时间类


2.1 Date类

java.util.Date类:表示日期和时间的类。该类不是java.lang,需要在使用时导入。
类Date表示特定的瞬间,精确到毫秒。
Java中时间原点也是从1970年01月01日 00:00:00开始计算(英国格林威治)。
通过计算两个日期间的毫秒数差值,可计算两个日期间相差的天数。
注意:中国属于东八区,会在上述英国格林威治时间的基础上加上8小时。

2.1.1 Date() 及 Date(long date)构造函数

Date()无参构造用于返回系统当前的日期和时间。
Date(long date)有参构造:在1970-01-01 00:00:00的基础上迭加上参数所代表的毫秒值,然后返回迭加后的日期和时间。

2.1.2 long getTime()成员函数

long getTime()把日期转换为1毫秒,相当于System.currentTimeMillis()函数。
其返回自1970-01-01 00:00:00 GMT 以来此Date对象表示的毫秒数。

// 注意:中国东8区
public class Application {
   

    public static void main(String[] args) {
   
        demo01();
        demo02();
        demo03();
    }

    // Date类的空参数构造方法:获取当前系统的日期和时间
    private static void demo01() {
   
        Date date = new Date();
        // Wed Aug 31 20:03:59 GMT+08:00 2022
        System.out.println(date);
    }

    // Date类的带参数构造方法:Date(long date)传递毫秒值,将毫秒值在1970-01-01 00:00:00基础上迭加
    // 并计算出迭加后的日期
    private static void demo02() {
   
        Date d2 = new Date(0L);
        // Thu Jan 01 08:00:00 GMT+08:00 1970
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值