Java基礎增強學習筆記

一.1---15集內容:java

①透視圖(perspective)和視圖(view)的區別設計模式

②靜態方法的導入數組

③參數數量可變的方法
     學習

System.out.println(add(2,3));
System.out.println(add(2,3,5));
publci static int add(int x,int ... args)
{ 
    int sum=x;
    for(int i=0;i<args.length;i++)
    {
        sum+=args[i];
    }
    return sum;
}

    解釋:本質爲默認爲args生成一個動態數組,以達到能夠輸入可變參數的效果。測試

④加強for循環spa

    語法:for(type 變量名:集合變量名){  }設計

System.out.println(add(2,3));
System.out.println(add(2,3,5));
publci static int add(int x,int ... args)
{ 
    int sum=x;
    for(int arg:args)
    {
        sum+=arg;
    }
    return sum;
}

⑤裝箱拆箱code

public class AutoBox {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Integer iObj=3;//裝箱(較早版本的Java裏面不能這麼寫,由於3是int類型,iObj是一個包裝類型Integer對象)
  System.out.println(iObj+12);//拆箱
  
  Integer i1=13;
  Integer i2=13;
  System.out.println(i1==i2);//測試i1和i2是否爲同一個對象,這是在比較包裝類型Integer對象內容,不是比較數值)
  
  Integer i3=137;
  Integer i4=137;
  System.out.println(i3==i4);//測試i3和i4是否爲同一個對象
  //當數據值處於-128~127之間時,裝箱時內部會將其封裝成同一個對象,不然,封裝成兩個對象,這是一個享元模式【同享一個元】的的設計模式)
  //享元模式:即一些小的使用頻繁的同值對象會只產生一個對象,擴展的說,一些東西有些屬性相同時,內存池中只會留下一個,這些特性是內部特性;那些不一樣屬性成爲外部特性
  //享元模式:flyweight
  Integer i5=Integer.valueOf(3);
  Integer i6=Integer.valueOf(3);
  System.out.println(i5==i6);
  
  Integer i7=Integer.valueOf(213);
  Integer i8=Integer.valueOf(213);
  System.out.println(i7==i8);
  //下面這兩個不是自動裝箱而是調用類Integer的靜態方法,關於將對象放內存池的狀況同上。
 }
}

⑥枚舉類的學習:對象

    枚舉元素就是一個枚舉類的對象內存

 public class EnumTest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  WeekDay weekDay=WeekDay.FRI;
  System.out.println(weekDay);
  System.out.println(weekDay.name());
  System.out.println(weekDay.ordinal());
  System.out.println(WeekDay.valueOf("SUN"));
  System.out.println(WeekDay.values().length);
 }
 
 public enum WeekDay{//定義一個枚舉類WeekDay
  SUN,MON,TUE,WED,THI,FRI,SAT
 }
}
public class EnumTest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  WeekDay weekDay=WeekDay.FRI;
  System.out.println(weekDay);
  System.out.println(weekDay.name());
  System.out.println(weekDay.ordinal());
  System.out.println(WeekDay.valueOf("SUN"));
  System.out.println(WeekDay.values().length);
 }
 
 public enum WeekDay{//定義一個枚舉類WeekDay
  SUN(5),MON(),TUE,WED,THI,FRI,SAT;//這七個爲枚舉類的靜態成員部分,只要使用一次枚舉類,他們都會依次執行一遍,而且若是有其餘東西,他們位於其餘東西以前,且必須加上分;
  //枚舉類的構造方法必須爲私有
  private WeekDay(){System.out.println("First");}
  private WeekDay(int day){System.out.println("Second");}
 }
}

   外部類只能使用默認或者public這兩個修飾符,而內部類但是使用四種。

⑦反射(類Class,不是定義普通類的class)

    a.Java程序中的各個Java類屬於同一類事物,描述這類事物的Java類名就是Class,就是表明對象或者類的字節碼

    b.獲得字節碼的方法(Class類型):

        ①類名.class;

        ②對象.getClass();

        ③Class.forName("類名");

    c.八種基本類型(boolean,byte,char,short,int,long,float,and double)和void類型都是一種類

        例如:Class cls1=void.class;

相關文章
相關標籤/搜索