1. 程式人生 > >Java進階:物件與類

Java進階:物件與類

 

1.類庫中的LocalDate類

   (1)Date類與LocalDate類

       Date類:例項有一個狀態即特定的時間點。時間是由一個固定時間點的毫秒數

       LocalDate類:用於表示大家熟悉的日曆表示法

   (2)使用靜態工廠方法代表你呼叫構造器:

      LocalDate.now();
      LocalDate.of(year,month,day);
      LocalDate.plusDays();//會得到一個新的LocalDate,新日期物件是距當前物件指定天數的一個新日期

   (3)LocalDate類設計到一些方法:

    static LocalDate now()
    static LocalDate of(int year,int month,int day)
    LocalDate plusDays(int n)
    int getYear()
    int getMonthValue()
    int getDayOfMonth()
    DayOfWeek getDayOfWeek()

       

   

2.更改器方法與訪問器方法

     更改器方法:呼叫這個方法後,物件狀態會發生改變。

     訪問器方法:只訪問物件不修改物件的方法。

 LocalDate aThousandDaysLater=newYearsEve.plusDays(1000);
 //plusDays方法會生成一個新的物件,然後把它賦給aThousandDaysLater變數。原來的物件不作任何改動

 GregorianCalender someDay=new GregorianCalender(1999,11,31);
 someDay.add(Calender.DAY_OF_MONTH,1000);
//add方法是個更改器方法,呼叫這個方法後,someDay的狀態會發生改變

    

3.工廠方法

     靜態方法的另一種用途:某些類用靜態工廠方法來構造物件。

  NumberFormat currencyFormatter=NumberFormat.getCurrencyInstance();
  NumberFormat percentFormatter=NumberFormat.getPercentInstance();
  double x=0.1;
  System.out.println(currencyFormatter.format(x));
  System.out.println(percentFormatter.format(x));

     為什麼NumberFormat類不利用構造器完成這些操作?

    (1)無法命名構造器

    (2)當使用構造器時,無法改變所構造物件型別