2021-09-22 JAVA基本語法

1.UUID.randomUUID().toString()是javaJDK提供的一個自動生成主鍵的方法。UUID(Universally Unique Identifier)全局唯一標識符,是指在一臺機器上生成的數(shù)字,它保證對在同一時空中的所有機器都是唯一的,是由一個十六位的數(shù)字組成,表現(xiàn)出來的 形式。
2.new Data() //返回系統(tǒng)時間yyyy-mm-dd hh:mm:ss.xxxxxx

  1. varchar(100),指的是100字符,無論存放的是數(shù)字、字母還是UTF8漢字(每個漢字3字節(jié)),都可以存放100個。”

  2. Java 標識符
    Java 所有的組成部分都需要名字。類名、變量名以及方法名都被稱為標識符:
    所有的標識符都應該以字母A-Z或者a-z,美元符$、或者下劃線_開始,首字符之后可以是字母A-Z或者a-z,美元符$、下劃線_或數(shù)字的任何字符組合
    關鍵字不能用作標識符
    標識符是大小寫敏感的
    合法標識符舉例:age、$salary、_value、__1_value
    非法標識符舉例:123abc、-salary

  3. 一個源文件中只能有一個 public 類
    一個源文件可以有多個非 public 類

  4. 數(shù)據(jù)類型

  • 數(shù)字類型 整數(shù)型
byte short int long
8位 16位 32位 64位

byte 0-255(000000000--111111111)

  • 數(shù)字類型 浮點型
    -- double 雙精度 64位
    -- float 單精度 32位
  • 字符型char 類型是一個單一的 16 位 Unicode 字符;
    最小值是 \u0000(十進制等效值為 0);
    最大值是 \uffff(即為 65535);
    char 數(shù)據(jù)類型可以儲存任何字符;
    例子:char letter = 'A';。
  • Boolean型: true, false
  1. Java語言支持的變量類型有:
    類變量:獨立于方法之外的變量,用 static 修飾。
    實例變量:獨立于方法之外的變量,不過沒有 static 修飾。
    局部變量:類的方法中的變量。
public class Variable{
    static int allClicks=0;    // 類變量
    String str="hello world";  // 實例變量
    public void method(){
        int i =0;  // 局部變量
    }
}
  1. private 在同一類內(nèi)可見。不能修飾類。
    public對所有類可見??尚揎楊悺?/p>

  2. 靜態(tài)變量是指聲明為 public/private,final 和 static 類型的變量。靜態(tài)變量初始化后不可改變。

a = 10;
c = 10;
b = a++;   //等價于 b=a, a=a+1;
d = ++c;  //等價于  c = c+1,d = c;
    • super關鍵字:我們可以通過super關鍵字來實現(xiàn)對父類成員的訪問,用來引用當前對象的父類。
  • this關鍵字:指向自己的引用。
  1. 子類不繼承父類構造器,若父類構造器有參數(shù),需在子類的構造器中顯式地通過 super 關鍵字調(diào)用父類的構造器。

  2. 構造方法
    當一個對象被創(chuàng)建時候,構造方法用來初始化該對象。構造方法和它所在類的名字相同,但構造方法沒有返回值。
    通常會使用構造方法給一個類的實例變量賦初值,或者執(zhí)行其它必要的步驟來創(chuàng)建一個完整的對象

// 一個簡單的構造函數(shù)
class MyClass {
  int x;
  // 以下是構造函數(shù)
  MyClass() {
    x = 10;
  }
}
  1. next() 以有效字符后的空白格為結束符或分隔符
    nextLine()以回車鍵結束\

  2. e.printStackTrace() ;
    printStackTrace()方法的意思是:在命令行打印異常信息在程序中出錯的位置及原因。(這是白話解釋,比較容易理解)

  3. 無論是否發(fā)生異常,finally 代碼塊中的代碼總會被執(zhí)行。

  4. java類中為什么要有get和set方法,而不是直接(類.屬性)出來屬性。
    java中屬性有四個修飾符private、protected、public和default,每個修飾符的訪問權限不同。

  • public:可以被所有其他類所訪問
  • protected:自身、子類及同一個包中類可以訪問
  • default:同一包中的類可以訪問,聲明時不加修飾符,默認為default。
  • private:只能被自己訪問和修改
    當修飾符不是public,屬性訪問權限被限制,其它類想要使用該屬性就要借用該類中的getset方法進行操作。
    對外訪問,使用getName,而不是name。
  1. 采用 this 關鍵字是為了解決實例變量(private String name)和局部變量(setName(String name)中的name變量)之間發(fā)生的同名的沖突。

  2. 類實現(xiàn)接口,使用關鍵字implements
    繼承,使用關鍵字entends

  • 一個類可以同時實現(xiàn)多個接口。
  • 一個類只能繼承一個類,但是能實現(xiàn)多個接口。
  • 一個接口能繼承另一個接口,這和類之間的繼承比較相似 用extends。
  1. Abstract表示抽象類,抽象類本身不可實例化,必須有子類去繼承,且子類中實現(xiàn)抽象父類中所有的抽象方法,子類才可實例化。
    final修飾的類,不可繼承。

兩者不能同時修飾一個類

  1. Java Application 中的主類需包含main方法,main方法的正確形參:
    String[] args / String args[] / String... args都是正確的。

  2. 內(nèi)部類可以是靜態(tài)static的,也可用public,default,protected和private修飾,
    外部類的修飾符只能是public,abstract,final
    static可以用來修飾內(nèi)部類,但是不可以用來修飾外部類
    static修飾的為類成員,會隨著類的加載而加載,比如靜態(tài)代碼塊,靜態(tài)成員,靜態(tài)方法(這里只是加載,并沒有調(diào)用)等等,可以想象一下,如果把一個Class文件中的外部類設為static,目的難道是讓這個類隨著應用的啟動而加載嗎?如果在這次使用過程中根本沒有使用過這個類,那么是不是就會浪費內(nèi)存。這樣來說設計不合理,總而言之,設計不合理的地方,Java是不會讓它存在的。
    而為什么內(nèi)部類可以使用static修飾呢,因為內(nèi)部類算是類的成員了,如果沒有使用靜態(tài)來修飾,那么在創(chuàng)建內(nèi)部類的時候就需要先有一個外部類的對象,如果我們一直在使用內(nèi)部類,那么內(nèi)存中就會一直存在外部類的引用,而我們有時候只需要使用內(nèi)部類,不需要外部類,那么還是會浪費內(nèi)存,甚至會造成內(nèi)存溢出。使用static修飾內(nèi)部類之后,內(nèi)部類在創(chuàng)建對象時就不需要有外部類對象的引用了。

  3. 線程安全

  • 線程不安全的:ArrayList ,LinkedList, PriorityQueue,TreeMap,TreeSet,HashMap,HashSet,StringBilder

  • 線程安全的: Vector,Stack,Dictionary ,StringBuffer.

  1. 子類父類構造方法調(diào)用順序
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容