java使用预定义的类(通过Date类和LocalDate类解释)

首先上来先唠叨几句,java之所以强大,不但是因为它的安全措施做的很好,而且更重要的是它拥有一个强大的类库,java是一门面向对象的语言,所以类可谓java的命根子,下面就通过典型的两个类Date和LocalDate来演示一下java类的特征

Date类:

首先说明一下,在java程序设计语言中,使用构造器构造新的实例,构造器的定义方法在博主我的文章中有一篇专门说明,这里主要关注怎么使用,而不是定义。所以就不深入讨论了。

构造一个对象使用new关键字,例如new Date()

使用其中的方法使用"."运算符

下面一段代码演示了如何构造和使用Date类(部分):

示例代码:

CreatAndUseDate.java:

package DateTest;

import java.util.Date;

public class CreatAndUseDate {
	public static void main(String[] args) {
		//输出系统时间:
		System.out.println(new Date());
		//或者将时间变为一个字符串
		String s=new Date().toString();
		System.out.println(s);
		//或者使用对象的一个引用来引用对象,以便多次使用这个对象
		Date birthday=new Date();
		//空引用,值为null,不能使用Date类中的方法
		Date deadline=null;
		//重新赋值
		deadline=new Date();
		if(deadline!=null) {
			System.out.println(deadline.toString()+"   "+birthday.toString());
		}
	}
}

运行结果:


CreatAndUseLocalDate.java

package DateTest;

import java.time.LocalDate;

public class CreatAndUseLocalDate {

	public static void main(String[] args) {
		//LocalDate与Date的区别就是,一个是日历,一个是时间点...
		LocalDate now=LocalDate.now();
		System.out.println(now);//不难发现,只精确到了日期
		LocalDate newYearEve=LocalDate.of(1999, 12, 31);
		//以日月年的顺序输出
		System.out.println(newYearEve.getDayOfMonth()+"-"+newYearEve.getMonthValue()+"-"+newYearEve.getYear());
		//对newYearEve重新赋值之延后1000天
		LocalDate aThousandDaysLater=newYearEve.plusDays(1000);
		System.out.println(aThousandDaysLater.getDayOfMonth()+"-"+aThousandDaysLater.getMonthValue()+"-"+aThousandDaysLater.getYear());
	}

}

运行结果:


另外Java的类中的方法总的来说可以分为两种方法,即更改器方法和访问器方法,所谓更改器方法顾名思义也就是执行此方法会使类内数据发生变化,而访问器方法则不会使类内数据发生变化。

下面演示两个例子

ModifyAndAccessMethod.java

package DateTest;

import java.time.LocalDate;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class ModifyAndAccessMethod {

	public static void main(String[] args) {
		//LocalDate中的plusDays是访问器方法
		LocalDate newYearEve=LocalDate.of(1999, 12, 31);
		System.out.println("newYearEve:"+newYearEve);
		//对newYearEve重新赋值之延后1000天
		LocalDate aThousandDaysLater=newYearEve.plusDays(1000);
		System.out.println("\nnewYearEve:"+newYearEve);
		System.out.println("aThousandDaysLater:"+aThousandDaysLater);
		
		//GregorianCalendar类中有一个add方法则是更改器方法
		GregorianCalendar someDay=new GregorianCalendar(1999,11,31);
		System.out.println("\nNow someDay:"+someDay.getTime());
		someDay.add(Calendar.DAY_OF_MONTH, 1000);
		System.out.println("1000 days later:"+someDay.getTime());
	}
}

运行结果:

java使用预定义的类(通过Date类和LocalDate类解释)_第1张图片

你可能感兴趣的:(Java之对象与类)