20201225-王博

2020.12.25

作业补充知识点

1.static

static关键字,表示与类相关的、属于类的(不要翻译为静态的)

StaticInitiaLizers(类初始化器) 【俗称静态代码块】

static{

}

被static修饰的方法是属于类的方法,被称作类方法(反对将其称作静态方法),没有static修饰的方法是实例方法。

在类内调用本类声明的类方法时可以省略类名,推荐用类名调用类方法,不推荐使用实例调用类方法。

2.进制,按位异或“ ^ ”

以0b或0B为前缀的是二进制,计数符号有0、1

以0为前缀是八进制,计数符号有0、1、2、3、4、5、6、7

没有任何前缀直接书写的是十进制,计数符号有0、1、2、3、4、5、6、7、8、9

以0x或0X为前缀是十六进制,计数符号有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

课堂知识点

1.StringBuffer与StringBuilder

StringBuffer 和 StringBuilder都没有重写Object的equals方法

可以将StringBuffer与StringBuilder转换为String实例后通过String类提供的的contentEquals方法进行比较

String类提供了contentEquals(CharSequence)和contentEquals(StringBuffer)方法用来比较字符序列的内容是否相等

2.String/StringBuffer/StringBuilder的区别

  • StringBuffer是线程安全的,因为其中绝大多数实例方法都是由synchronized修饰符修饰的
  • StringBuilder不是线程安全的,其中所有的实例方法都没有synchronized修饰符修饰3.日期与时间

3.日期与时间

(1)Calendar类

Calendar 类是一个抽象类,GregorianCalendar 类是 Calendar 非抽象的子类

Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar 类中提供了 根据 Calendar实例 返回 java.util.Date 实例的方法:

public final Date getTime()

根据 Calendar实例 来获得 java.util.Date 实例

1>、获得 Calendar实例 (用它充当一个容器)

2>、清空 Calendar实例 中 所有日历字段的值

3>、根据实际需要依次设置 年、月、日、时、分、秒、毫秒 等日历字段的值

4>、根据 Calendar实例 获得 Date实例

如果期望通过Calendar实例返回其所表示瞬间对应的毫秒值

Calendar calendar = Calendar.getInstance() ; // 调用 Calendar类中的 类方法来返回 Calendar实例

long millis = calendar.getTimeInMillis();
System.out.println( millis );

(2)日期

历元: 格林威治标准时间 1970年1月1日的 00:00:00.000(格里高利历)
* Java 语言中 传统的表示时间的方法是参照 历元 获取偏移量,比如 System.currentTimeMillis()
* 在 Java 语言中使用 java.util.Date 类的实例 来表示 日期和时间
* java.util.Date类尚未被废弃的两个构造方法:
* public Date()
* public Date( long millis )

java.util.Date类尚未被废弃的实例方法:
* public long getTime()

  • public void setTime( long millis )

  • public int hashCode()

  • public String toString()

  • public boolean before( Date when ) 若 当前Date实例表示的瞬间早于参数when表示的瞬间就返回 true

  • public boolean after( Date when ) 若 当前Date实例表示的瞬间晚于参数when表示的瞬间就返回 true

  • public boolean equals( Object another ) 若 当前Date实例与参数指定的对象相等则返回true

  • public int compareTo( Date anotherDate ) 比较两个日期的顺序,当当前Date实例表示的瞬间 早于、等于、晚于 参数anotherDate所表示的瞬间则分别返回 小于零、零 、大于零的整数

  • public Object clone()

  • public Instant toInstant() 【 JDK 1.8 新增 】

    java.util.Date类中的类方法:

  •  public static Date from( Instant instant ) 【 JDK 1.8 新增 】
    

(3)时间

  • java.time 包 是 Java 8 新增的 包

  • LocalDate 是 Java 8 新增的 最终类( final class )

  • LocalDate 类 的 实例 都是 不可变对象 ( year / month / dateOfMonth )

    例:

    // 调用 LocalDate 类中的 类方法 获得 当前日期 对应的 LocalDate实例
    LocalDate today = LocalDate.now() ; // 获得现在对应的日期
    System.out.println( today );
    // 调用 LocalDate 类中的 类方法 获得 指定日期 对应的 LocalDate实例
    LocalDate birthdate = LocalDate.of( 1998 , 12 , 20 );
    System.out.println( birthdate );
  • LocalTime 是 Java 8 新增的 最终类( final class )

  • LocalTime 类 的 实例 都是 不可变对象 ( hour / minute / second / nano )

    例:

    // 调用 LocalTime 类中的 类方法 获得 当前时间 对应的 LocalTime实例
    LocalTime current = LocalTime.now() ;
    System.out.println( current );
    // 调用 LocalTime 类中的 类方法 获得 指定时间 对应的 LocalTime实例
    LocalTime time = LocalTime.of( 17 , 30 , 40 , 123456789 );
    System.out.println( time );
  • LocalDateTime 是 Java 8 新增的 最终类( final class )

  • LocalDateTime 类 的 实例 都是 不可变对象 ( LocalDate / LocalTime )
    例:

    // 调用 LocalDateTime 类中的 类方法 获得 当前时间 对应的 LocalDateTime实例
    LocalDateTime datetime = LocalDateTime.now();
    System.out.println( datetime );
    // 调用 LocalDateTime 类中的 类方法 获得 指定时间 对应的 LocalDateTime实例
    LocalDateTime fire = LocalDateTime.of(2020, 11, 24, 4, 30, 10, 100200300 );
    System.out.println( fire );

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1