亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Scjp筆記

2019-11-18 11:46:42
字體:
來源:轉載
供稿:網友

  注:*表示0或多個;+表示1個或多個
  Object-Oriented PRogramming
  1.ConstrUCtor
  沒有返回值
  假如只定義一個帶參數的constructor,則lose缺省的無參數的constructor,new xx()會出錯。
  2.Source file layout:
  定義順序:Package – >import –> class declaration
  一個文件至少應該有一個class,只能有一個public class,文件名必須要和public class的名稱一致,假如沒有public class,對文件名沒有限制。
  
  3.Package:
  假如文件中沒聲明Package,則class屬于缺省包,即沒有名字的包
  
  Identifiers,KeyWords,and Type
  1.Identifiers:
  開頭以Unicode letter,”_”和”$”。后面可以跟數字;(中文變量,方法名居然都可以!??!牛)
  大小寫敏感;
  沒有長度限制。
  
  Warning:
  類名必須是ASCII的字母。因為很多文件系統不支持UNICODE.(不過我試了一下,類名是中文的,Compile的時候是可以通過,Runtime時throw java.lang.NoClassDefFoundError)
  
  2.Keywords:
  幾個 很生僻的Keywords:
  transient,strictfp,volatile
  
  沒有goto和const;沒有sizeof()。
  
  4.Basic Java Type:
  共8種。
  Boolean和integer Type之間不能轉化。
  
  5.Integral:
  Byte:8bit -2的7次方~2的7次方-1
  short:16bit
  int:32bit
  long:64bit
  
  6.Floating point
  float:32bit
  double:64bit
  
  浮點形默認是double.
  float a = 1.02 //compile error
  float a = 1.02f or float a = 1.02F //correct
  
  7.類型的取值范圍
  Data TypeSize (bits)Initial ValueMin ValueMax Value
  boolean1false falsetrue
  Byte80-128 (-27)127 (27 – 1)
  Short160-215 215 - 1
  Char16‘/u0000’‘/u0000’ (0)‘/uFFFF’ (216 – 1)
  Int320-231 231 - 1
  Long640L-263 263 - 1
  Float320.0F1.4E-453.4028235E38
  Double640.04.9E-3241.7976931348623157E308
  
  8.Assignment of Reference Type
  基本類型的賦值是值的賦值;int x =6; int y = x;相當于復制x的內容到y上。
  對象的賦值不會賦值內容,兩個對象的指針都是指向同一個object..
  
  9.Pass by Value
  Pass argument by Value. 當方法的參數是對象的引用時,參數的值是對象的地址,對象是可以在參數調用時改變的。
  Public class test{
  Public static void changeObject(MyDate ref){
  Ref = new MyDate(1,2,2002);
  }
  public static void main(String[] arv){
  MyDate d = new MyDate(3,3,1988);
  ChangeObject(d);
  }
  }
  結果是d還是為1988,3,3;因為對象的地址是不變的。
  
  10.Java Coding Convention(編碼慣例)
  Package – 名詞且小寫
  Class--名詞且第一個字母大寫
  Interface—同Class
  Methods-動詞且第一個字母小寫,分隔詞第一個字母大寫,不用”-“
  Variable—第一個字母小寫,不用”_”,”$”(對于inner class有意義)
  Constants—大寫并用”_”
  
  EXPression and Flow Control
  1.
  Local variables—Variable defined in method
  Instance variables—Variable defined outside method
  
  Instance variable initialize:
  byte,short,int,long,float,double:0
  boolean:false
  char:’/u0000’
  all reference type:null
  
  
  
  2.Bitwise logic Operators
  位邏輯運算符作用于整形。(byte,char,short,int,long)
  
  3.>>
  右移是把第一個操作數/2的第二個操作數次方
  e.g
  128>>4 returns 128/(2的4次方)
  
  4.優先級
  助記詞 運算符類型 運算符
  UlcerUnary+ - ++ – [[ rest...]],()cast
  AddictsArithmetic (and shift)* / % + - << >>
  ReallyRelational> < >= <= == !=
  LikeLogical (and bitwise)&& & ^
  CConditional (ternary)A > B ? X : Y
  A LotAssignment= (and compound assignment like *=)
  
  Note:
  對于int,其實是右移右操作數的求32的模;對于long,其實是右移右操作數的求64的模
  int y = x >> 32 ,y沒有改變,而不是0.(我試了一下,byte和short分別右移8和16,結果都為0)
  
  4.>>>
  11000>>2 returns 11110
  11000>>>2 returns 00110
  
  Note:
  >>>只對int,long有效。假如對于byte和short,在>>>之前先promote成int,右移完再折回byte或short,這樣,通常unsigned shift becomes signed shift
  
  5.<<
  128<<4 returns 128*(2的四次方)
  
  6.+
  short x =5;
  short y=6;
  short z=x+y;//compile error
  因為+的結果最小起碼是int
  
  7.cast
  
  
  7.if()要求的是一個boolean表達式
  if(x) //int x cause error
  use if(x!=0)
  
  8.switch(exp1)
  exp1必須是和int兼容,(byte,short,int,char)
  float,long,和類指針(String)都不答應。
  
  9.label:statement
  statement必須是循環(break 還可以是switch)
  
  
  Array:
  1.初始化
  s = new char[5] //initialize for ‘/u0000’
  
  2.多維數組的定義
  int [][] a = new int [2][];
  a[0] = new int[4];
  a[1] = new int[6];
  
  System.out.println(a.length);
  System.out.println(a[0].length);
  
  Result:
  2
  4
  
  3.數組的復制
   int a[]={1,2,3};
   int b[]={4,5,6,7,8,9};
   System.arraycopy(a,0,b,0,a.length);
  
  Result:
  b[]={1,2,3,7,8,9}
  Note:
  System.arraycopy拷貝的是引用,而不是Object.(我試了,假如是基本類型的數組,用arraycopy后,修改其中一個數組的值,另一個數組是不變的;假如是對象的數組,則值會改變)
  
  Inheritance
  1.Constructors Are not Inherited
  
  2.instance of 檢查對象的類型(類,接口,數組)
  
  3.cast
  Up Cast(parent class = subclass) :直接用=轉化
  Downward(subclass = parent class):假如該對象不是要轉化的那個對象,則會在Runtime的時候出錯。
  
  
  
  4.OverLoading Method
  必須有不同的參數,可以有不同的返回類型
  
  5.Overriding Method
  有相同的函數名,參數類型,和返回值,實現可以不一樣。并且子類的方法不能比父類的函數的訪問權限小。
  
  6.Super
  在Constructor中假如要調用Super的話應該寫在第一行
  Super能指定參數調用父類的Constructor
  假如在Constructor中沒有調用Super,則Compiler會隱含調用父類的”default”的Constructor
  假如父類沒有定義非私有的“default”的Constructor,則Compile Error
  
  7.構造函數初始化
  1.分配對象的空間,把instance variable設置default value(Boolean->false,Integer,float->0,reference->null)
  2.
  2.1綁定Constructor的參數
  2.2假如有this(),跳到2.5
  2.3遞歸調用implicit 或explicit的super
  2.4執行instance variable的explict的賦值
  2.5執行當前的Constructor.
  
  7.Constructor的Rule
  在Constructor中調用的函數應為私有函數。
  因為假如超類Employee的Constructor中有公有函數getDetail,類Manager繼續Employee,而manager中override此函數getDetail,聲明一個manager的對象時會遞歸調用Employee的Constructor,而因為是runtime check,實際上Emplyee中調用的getDetail是Manager的getDetail。
  
  public class Emploee extends Object {
   private String name;
   private double salary = 15000.00;
   private Date birthDate;
   private String summary;
  
   public Emploee(String n, Date DoB) {
   name = n;
   birthDate = DoB;
   summary = getDetails();
   }
   public Emploee(String n) {
   this(n, null);
   }
  
   private String getDetails() {
   return "Name: " + name + "/nSalary: " + salary
   + "/nBirth Date: " + birthDate;
   }
  
   public static void main(String[] arg)
   {
   Manager m = new Manager("2","gl");
  
   }
  }
  
  
  class Manager extends Emploee {
   private String department;
   public Manager(String n, String d) {
   super(n);
   department = d;
   }
  
   public String getDetails() {
   return "/nDept: " + department;
   }
  
  }
  
  
  8.假如重載equals,最好重載hasCode()
  
  9.toString

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清免费观看高清完整版| 日韩电影免费在线观看中文字幕| 91高清免费视频| 欧美极品在线播放| 亚洲午夜久久久久久久| 在线播放国产一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 成人写真视频福利网| 欧美国产日韩一区二区在线观看| 亚洲综合av影视| 亚洲国产成人精品久久| 欧美激情乱人伦一区| 久久精品国产一区二区三区| 日韩中文理论片| 国产成人精品最新| 中文字幕精品久久| 中文字幕一精品亚洲无线一区| 国产精品com| 日韩精品中文字幕在线| 亚洲欧美日韩另类| 国产91色在线播放| 成人性生交大片免费看视频直播| 欧美噜噜久久久xxx| 精品视频在线观看日韩| 欧美日韩免费看| 久热精品视频在线观看一区| 亚洲另类欧美自拍| 国产精品88a∨| 久久亚洲精品中文字幕冲田杏梨| 国产精品自产拍在线观| 欧美亚洲免费电影| 98精品国产自产在线观看| 欧美日韩国产成人| 日韩大陆欧美高清视频区| 国内成人精品视频| 欧美色另类天堂2015| 欧美一区二区三区免费视| 日韩中文字幕在线播放| 不卡中文字幕av| 国产精品美女www| 久久久精品视频在线观看| 欧美国产乱视频| 97视频在线播放| 69**夜色精品国产69乱| 中文字幕日韩在线观看| 欧美一级视频免费在线观看| 日本a级片电影一区二区| 成人免费网站在线看| 日韩免费观看高清| 久久久在线观看| 亚洲国产精品悠悠久久琪琪| 久久天天躁狠狠躁夜夜躁2014| 亚洲网在线观看| 国产在线观看精品| 国产成人精品一区二区三区| 国产成人精品免高潮费视频| 久久久久久久久久国产| 日韩美女av在线免费观看| 亚洲第一免费播放区| 欧美日韩美女在线观看| 国产成人精品视频| 精品国产一区二区三区久久狼黑人| 日韩av免费网站| 欧美孕妇毛茸茸xxxx| 亚洲三级免费看| 国产一区二区三区三区在线观看| 欧美xxxx18国产| 亚洲欧美国产制服动漫| 国产精品白丝jk喷水视频一区| 狠狠躁夜夜躁久久躁别揉| 欧美日韩亚洲视频| 久久久免费av| 欧美成人国产va精品日本一级| 亚洲天堂第一页| 亚洲最大激情中文字幕| 亚洲欧美中文在线视频| 国产精品pans私拍| 欧美成人激情在线| 欧美国产视频一区二区| 少妇精69xxtheporn| 国产综合色香蕉精品| 欧美主播福利视频| 国产精品高潮粉嫩av| 亚洲精品美女在线观看播放| 亚洲国产成人久久综合| 91人成网站www| 成人妇女免费播放久久久| 欧美在线欧美在线| 亚洲天堂成人在线视频| 日韩av免费在线播放| 国产精品国内视频| 亚洲欧美日韩精品| 国产91色在线|免| 亚洲色图15p| 久久精品视频亚洲| 日本精品一区二区三区在线| 91免费观看网站| 日韩中文字幕视频| 亚洲97在线观看| 亚洲va久久久噜噜噜| 久久在精品线影院精品国产| 久久99亚洲精品| 精品久久久一区二区| 国产日韩在线看片| 这里只有精品视频在线| 日本三级久久久| 国产精品成人aaaaa网站| 国产精品永久免费视频| 91精品国产综合久久香蕉| 亲爱的老师9免费观看全集电视剧| 国产精品电影网站| xxx成人少妇69| 精品国产91久久久久久老师| 日韩av中文字幕在线| 欧美高清视频一区二区| 欧美性受xxxx黑人猛交| 久久综合免费视频影院| 欧美国产日韩精品| 日韩成人在线视频网站| 日韩中文字幕精品视频| 俺去亚洲欧洲欧美日韩| 国模私拍一区二区三区| 精品久久香蕉国产线看观看亚洲| 日韩在线观看高清| 成人av在线天堂| 91久久精品国产| 91国产精品电影| 欧美亚洲第一区| 一个人www欧美| 成人午夜激情网| 日韩大片在线观看视频| 91香蕉电影院| 久久夜色精品国产| 美女av一区二区| 色播久久人人爽人人爽人人片视av| 亚洲一区精品电影| 国产不卡av在线| 久久久精品一区二区| 久久久99久久精品女同性| 2025国产精品视频| 国产精品美女999| 久久久av网站| 精品久久久久久中文字幕大豆网| 亚洲天堂av在线免费| 久久久精品国产一区二区| 国产精品草莓在线免费观看| 欧美在线一级视频| 国产精品久久激情| 91香蕉嫩草影院入口| 久久成人精品视频| 久久久久国产视频| 在线播放国产一区二区三区| 亚洲毛茸茸少妇高潮呻吟| 久久影视电视剧免费网站| 色偷偷888欧美精品久久久| 91高清免费视频| 日韩精品免费综合视频在线播放| 日韩久久精品成人| 国产成人福利视频| 欧美激情aaaa| 成人免费网站在线观看| 欧美天天综合色影久久精品| 欧美专区在线视频| 久久综合电影一区|