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 );
近期评论