Java第五天,API常用类,静态(static)、集合(ArrayList)、日期(Date)、日历(Calendar)的使用方法

上文中我们学习到了Random随机数类和ArrayList<E>集合。这两个知识点都是经常用到的,那么除了这两个外,还有哪些知识点是我们所必须掌握的呢?

static

使用static需要注意以下几点内容

(1)被static修饰的属性和方法不再单单属于类的某个对象,而是属于整个类所共有的一个特性。

(2)常用作计数器(ID),所在公司等等公有性质。

(3)静态代码段总是先执行。

public class stackLearn {

public static void main(String[] args) {

Car one = new Car(''宝马'');

Car two = new Car(''奔驰'');

System.out.println(''目前一共有'' + Car.id + '' 辆车,分别是'' + one.name + ''、'' + two.name);

}

}

class Car{

static int id = 0;

String name;

Car(String name){

this.name = name;

id++;

}

}

1.png程序代码图

2.Object

(1)Object类是所有类的超类,也就是说Java中任何类都继承了Object类,即可以使用Object实现的方法。

(2)this代表当前所属对象。

(3)Object.equals() 方法默认比较的是两个对象的地址。不同于String.equals()方法。

(4)多态的弊端是看不到子类特有的方法。

(5)对象 instanceof 类,是用来判断对象是否属于某个类(但是左边所属的类必须和右边的类位于同一个继承树)。

(6)Java中,null是不能调用方法的。

(7)Java中强制类型转换只能发生在以下两种关系中:

一、对于引用类型,两个对象必须具有继承关系。不是随便的两个对象就能转换的。

二、对于基本类型,不能参与布尔类型的转换。

3.Date

(1)精确到一个特定的瞬间,为千分之一秒。即1000ms = 1s。

(2)可以计算时间差,非常方便一些场合的使用。

(3)Date类默认的时间原点1970年1月1日00:00:00(英国格林时间)。因为中国位于东八区,所以时间原点是1970年1月1日08:00:00。

(4)System.currentTimeMillis() 计算的是1970年1月1日到目前经历的总毫秒数。

(5)空构造函数Date() 返回当前计算机时间。

(6)Date(long date) 传入毫秒值返回对应的时间。

(7)getTime() 返回当前时间到时间原点的毫秒值。

(8)DateFormat类用来格式化时间。可以进行日期与字符串的互转。但是由于此类为抽象类,所以无法实例化对象,因此我们需要使用它的子类,SimpleDateFormat。它的两个方法分别为:

一、String format(Date data)

二、Date parse(String source)

1.png

public class DateLearn {

public static void main(String[] args) {

SimpleDateFormat sdf = new SimpleDateFormat(''yyyy年MM月dd日HH时mm分ss秒'');

Date date = new Date();

String time = sdf.format(date);

System.out.println(time);

}

}

2.png程序测试图

4.Calendar

(1)因为它是一个抽象类,所以不可以直接创建对象,需要用到它的子类。但是由于他有一个方法Calendar.getInstance() 可以返回一个Calendar子类对象。所以可以这样写:

Calendar c = Calendar.getInstance();

因为Calendar类是Calendar子类的父类,所以这里使用的知识是多态。

public class CalendarLearn {

public static void main(String[] args) {

Calendar c = Calendar.getInstance();

System.out.println(c.get(Calendar.YEAR) + ''年'' + c.get(Calendar.MONTH) + ''月'' + c.get(Calendar.DAY_OF_MONTH) + ''日'');

}

}

3.png程序截图

posted @ 2019-08-21 13:38  IT蓝月  阅读(343)  评论(0编辑  收藏  举报
Live2D