Objeck类,日期相关类,System类.StringBuilder类

API怎么学?
不要去死记,只要学过的类和方法会查会用即可
如何查看API文档
(1).可以先查包,然后去包里查列
(2)点击索引,输入框中输入类名 推荐的方式
如何使用API文档
(1)看包
如果是java.lang包下的类,直接使用不用导包
如果不是java.lang包下的类,使用之前就需要导包
(2)看类的描述
描述了类的作用,特点,注意事项甚至简单的使用方式
(3)看构造方法
创建对象需要用到构造方法
在文档中,有些类展示了构造方法,有些没有
(4)看成员方法
方法名:看到方法名要能知道这个方法是什么作用
看参数列表(形参):调用方法的时候必须根据形参来传递对应类型的实参
如果形参是基本数据类型,则传递的是对应类型的值
如果形参是引用数据类型(数组、类、接口),则传递的是数组、该类对象或者子类对象、该接口的实现类对象

        返回值类型:如果返回值类型为void,则使用的时候只能单独调用
                   如果返回值类型不是void,则使用的时候可以使用三种方式(单独、输出、赋值)调用

Object类
在jav.lang包下,所有使用的时候不用导包
类Object是类层次结构的根类,没有个类都使用Objecct作为超类,所有对(包括数组)都实现这个类的方法
解释:Object类是所有类的直接或者间接父类,如果以个类没有直接继承其类,则一定默认继承了Object类

常见方法
    toString方法
        public String toString():将独享转为字符串

    没个类都能继承Objec类中的方法,所以toString方法也会被继承Object类中的toString方法有指定的格式:
        public String toString(){
            return getClass().getName()+"@"+Integer.toHexString(hashCode())

};

//com.itheima.demo01.Object,Preson@75412c2f

Object类中的toString方法输出的格式的内容没有太大意义,所以我们平常一般都会重写toStirng方法,重写的原则
 打印对象中的内容(类中的成员变量的值)

        如何重写
            快捷键生成
            alt+insert 找到toString

        直接打印一个对象的名字,其实默认调用的是对象的toString方法
            这个和println方法有关,底层判断如何传递的对象不是null,则默认调用toString方法

equals方法
als方法
        public boolean equals(Object obj):判断两个对象是否相等

        Object类中的equals方法比较的是内存地址值:
        public boolean equals(Object obj) {
            return (this == obj);
        }

        // this代表调用equals方法的那个对象,obj是调用方法传递的实参对象

        ==的使用
            比较基本数据类型,比较的是值是否相等
            比较引用数据类型,比较的是地址值是否相等
    equals只能比较引用数据类型,==既可以比较基本数据类型也可以比较引用数据类型
    equals方法底层使用的是==号,如果只是要比较内存地址是否相等,就可以直接使用==.没有必要使用equals方法再去底层调用==.
    所以equals方法一般也会被重写,改变比较的规则,不比较地址,而是比较内容    
     重写的原则是:比较对象的内容(类中成员变量的值)是否相等
        如何所有的内容都相同,说明是相等,如果有一个不同,则说明不相等

        如何重写
            使用快捷键 alt+insert 找到equals&hashCode

日期相关的类
Date类
在java.util包下,使用的时候必须导包,注意补水使用java,sq1包下的Date类了,这个是它的子类
表示是特定的瞬间(时间精确到毫秒),毫秒值是相当于1970年1月1日0时0分0秒
Date类可以表示过去,现在和将来的任何一个特定瞬间,主要就看传递的毫秒值落到那个时候就是那个时候

构造方法
    Date():空参构造,代表的是现在这个特定瞬间
    Date(long date):有参构造,传递的毫秒值落到那个时候就是那个时候
成员方法
    public long getTime():获取Date对象代表的瞬间的毫秒值(是一个相对值,相对于1970年1月1日 0时0分0秒)
    public void setTime(long time):设置毫秒值,和有参构造方法都能达到给Date对象设置毫秒值的效果

如何获取当前系统时间的毫秒值?
    (1)System.currentTimeMillis()
    (2)new Dat().getTime()
DateFormat类
    格式化和解析日期字符串
    是一个抽象类,没法出啊年对象使用,使用其子类SimpleDateFormat
    抽象类中可以有抽象方法,可以有非抽象方法,如果以个类去继承抽象类,就必须实现其中所有的抽象方法,否则该类也必须编程抽象类

SimoleDateFormat
    构造方法
        SimpleDatFormat(String pattern)

        pattern指的就是模式

    常见方法
        格式化:日期对象(Date)->文本(String)
            有了这个方法之后,日期对象想要以什么样的格式显示都是可以的,只要指定模式
        y年
        M月
        d日
        H时
        m分
        s秒
yyyy-MM-dd  ->2018-08-08
yyy/MM/dd  ->2018/08/08

public final String format(Date date)

    解析:文本(String)->日期对象(Date)
    "2018年08月10日"
    注意:给定的文本(日期字符)必须匹配指定的模式,这样才能正确的解析,赴欧洲报解析异常:ParseException
        public Date parse(String source)

步骤:
    1.创建SimpleDateFormat对象,使用有一个参数的构造方法传递模式
    2.调用format或者parse方法进行格式化或者解析

StringBuilder类
在java,lang包下,使用的时候不用导包
代表的是一个可变字符串,String是不可以变的字符串,它是常量
StringBuilder相当于是一个容器,里面可以添加(append)任意的数据,最终得到的都是字符串
append:添加方法
Stirng 和StringBuilder
String ->StringBuilder:通过构造方法
StringBuilder sb = new StringBuilder(“hello”);

StringBuilder -> String: toString方法
    String str = sb.toString();

猜你喜欢

转载自blog.csdn.net/qq_42815122/article/details/81751223