1. 程式人生 > >Java day 12

Java day 12

1、包的特點:

  (1)可以有多層;
  (2)不同包下的檔名可以重複;
  (3)相同包下的類可以直接訪問,不需要做其他操作;
  (4)包的宣告必須是第一行程式碼

2、不同包之間的互相訪問:

  (1)使用類的全名(包名.類名);
  (2)使用關鍵字import將類匯入
 注意:*代表的是萬用字元,代表匯入了這個包下所有的類,並沒有匯入子包下的類

3、許可權修飾符:

 (1)public:當前類,相同包下不同的類,不同包下的類;
 (2)default:當前類,相同包下不同的類;
 (3)private:當前類;
 (4)protected:當前類,相同包下不同的類;
 注意:default與protected的區別:
    (1)default:當前包下使用;
    (2)protected:讓子類物件使用

4、修飾符:

                                      類                     成員變數               成員方法                 構造方法
       public                      Y                            Y                           Y                            Y
       default                     Y                            Y                           Y                           Y
       protected                                               Y                           Y                           Y
       private                                                   Y                           Y                           Y
       abstract                   Y                                                         Y
       static                                                     Y                            Y
       final                         Y                            Y                            Y
 常見規則:
 (1)使用public來修飾類,一個Java檔案中只能有一個類,如果一個檔案中有多個類,類名和檔名一樣的類名,必須使用public修飾,其他類不能用public修飾;
 (2)所有的成員變數都使用private修飾;
 (3)所有的方法使用public修飾;
 (4)所有的構造方法使用public修飾;
 (5)如果不想建立物件,則使用private修飾

5、內部類分類:

 (1)成員內部類:可以使用abstract,final修飾
       a、可以使用許可權修飾符修飾成員內部類,如果使用私有來修飾,則無法在其他類中訪問;
       b、可以使用static修飾成員內部類,不用建立外部類的物件;
 (2)區域性內部類: 在方法內,出了方法之後就無法使用;
 (3)匿名內部類:可以看成是一個沒有名字的區域性內部類,定義在方法中,且必須在定義匿名內部類時建立他的物件;
           格式:
                 new 類/介面(){
                         如果是建立了繼承這個類的子類物件,則可以重寫父類的方法;
                         如果是建立了實現這個介面的子類物件,則必須要實現該介面的所有方法                     
                 };
          原理:建立了繼承這個類的子類物件或者是建立了實現這個介面的子類物件
          應用場景:作為引數進行傳遞

6、Object:

 (1)String toString():返回該物件的字串表示
            return getClass().getName()+"@"+Integer.toHexString(hashCode())
     解釋:
       a、getClass():返回一個位元組碼物件;
       b、Integer.toHexString():返回指定引數的十六進位制字串形式;
       c、hashCode():返回該物件的雜湊碼值(內部地址)
 (2)boolean equals(Object obj):比較兩個物件是否相等,即比較地址值是否相等
 (3)static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):複製陣列
      解釋:
       a、引數1:源陣列;
       b、引數2:源陣列的起始索引位置;
       c、引數3:目標陣列;
       d、引數4:目標陣列的起始索引位置;
       e、引數5:指定接受的元素個數
(4)static long currentTimeMillis():以毫秒值返回當前系統時間(相對時間)
(5)static void exit(int status):終止虛擬機器

7、Date:表示特定的瞬間,精確到毫秒,可以通過方法來設定自己所表示的時間,可以表示任意的時間

 (1) 構造方法:
       a、Date():建立的是一個表示當前系統時間的Date物件;
       b、Date(long date):根據“指定時間”建立Date物件
 (2)常用方法:
       a、毫秒值---Date
          設定:返回值是void,引數long      void setTime(long time)     Date(long date)
       b、Date---毫秒值
          獲取:返回long,無引數    long getTime()

8、SimpleDateFormat:

  (1)格式化:
        Date---String
        String format(Date date)
  (2)解析:
        String---Date
        Date parse(String source)
  (3)構造方法:
      a、SimpleDateFormat():使用預設的模式進行物件的構建;
      b、SimpleDateFormat(String pattern):使用指定的模式進行物件的構建
注意:解析的字串,模式必須和構建物件的模式一樣

9、Calendar:日曆,提供了一些操作年月日時的方法

  (1)void set(int field,int value):把指定的欄位修改成指定的值;
  (2)void add(int field,int amount):在指定的欄位上加上指定的值;
  (3)int get(int field):返回給定日曆欄位的值

10、包裝類:封裝了基本資料型別的類,提供了更多複雜的方法和一些變數

      byte                           Byte
      short                         Short
      char                          Character
      int                             Integer
      long                          Long
      float                          Float
      double                      Double
      boolean                    Boolean
  Integer:
      String---int
        方式1:int intValue()
        方式2:static int parseInt(String s)
      int---String
        方式1:+""
        方式2:String toString()
 構造方法:
     Integer (int value);
     Integer (String s)

11、自動裝箱與自動拆箱:

  (1)自動裝箱:Integer i=10;  相當於:Integer i=new Integer(10);
  (2)自動拆箱:Integer i=10; int a=i;  相當於:int a=i.intValue();

12、正則表示式:一套規則,可以用於匹配字串

     boolean matches(String regex):判斷當前字串是否匹配指定的正則表示式,如果匹配則返回true,否則返回false