上文中我们学习到了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++;
}
}
程序代码图
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)
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);
}
}
程序测试图
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) + ''日'');
}
}
程序截图