1.UUID.randomUUID().toString()
是javaJDK提供的一個(gè)自動(dòng)生成主鍵的方法析恋。UUID(Universally Unique Identifier)
全局唯一標(biāo)識(shí)符,是指在一臺(tái)機(jī)器上生成的數(shù)字轴捎,它保證對(duì)在同一時(shí)空中的所有機(jī)器都是唯一的彼棍,是由一個(gè)十六位的數(shù)字組成,表現(xiàn)出來的 形式赠摇。
2.new Data()
//返回系統(tǒng)時(shí)間yyyy-mm-dd hh:mm:ss.xxxxxx
varchar(100)
共缕,指的是100字符,無論存放的是數(shù)字沪斟、字母還是UTF8漢字(每個(gè)漢字3字節(jié)),都可以存放100個(gè)士飒』谠牛”Java 標(biāo)識(shí)符
Java 所有的組成部分都需要名字讲岁。類名、變量名以及方法名都被稱為標(biāo)識(shí)符:
所有的標(biāo)識(shí)符都應(yīng)該以字母A-Z
或者a-z
,美元符$
淮逊、或者下劃線_
開始催首,首字符之后可以是字母A-Z
或者a-z
,美元符$
、下劃線_
或數(shù)字的任何字符組合
關(guān)鍵字不能用作標(biāo)識(shí)符
標(biāo)識(shí)符是大小寫敏感的
合法標(biāo)識(shí)符舉例:age泄鹏、$salary郎任、_value、__1_value
非法標(biāo)識(shí)符舉例:123abc备籽、-salary
一個(gè)源文件中只能有一個(gè) public 類
一個(gè)源文件可以有多個(gè)非 public 類數(shù)據(jù)類型
- 數(shù)字類型 整數(shù)型
byte | short | int | long |
---|---|---|---|
8位 | 16位 | 32位 | 64位 |
byte 0-255(000000000--111111111)
- 數(shù)字類型 浮點(diǎn)型
-- double 雙精度 64位
-- float 單精度 32位 - 字符型char 類型是一個(gè)單一的 16 位 Unicode 字符舶治;
最小值是 \u0000(十進(jìn)制等效值為 0)分井;
最大值是 \uffff(即為 65535);
char 數(shù)據(jù)類型可以儲(chǔ)存任何字符霉猛;
例子:char letter = 'A';尺锚。 - Boolean型: true, false
- Java語言支持的變量類型有:
類變量:獨(dú)立于方法之外的變量,用 static 修飾惜浅。
實(shí)例變量:獨(dú)立于方法之外的變量瘫辩,不過沒有 static 修飾。
局部變量:類的方法中的變量坛悉。
public class Variable{
static int allClicks=0; // 類變量
String str="hello world"; // 實(shí)例變量
public void method(){
int i =0; // 局部變量
}
}
private 在同一類內(nèi)可見伐厌。不能修飾類。
public對(duì)所有類可見裸影≌豕欤可修飾類。靜態(tài)變量是指聲明為 public/private轩猩,final 和 static 類型的變量卷扮。靜態(tài)變量初始化后不可改變。
a = 10;
c = 10;
b = a++; //等價(jià)于 b=a, a=a+1;
d = ++c; //等價(jià)于 c = c+1,d = c;
- super關(guān)鍵字:我們可以通過super關(guān)鍵字來實(shí)現(xiàn)對(duì)父類成員的訪問,用來引用當(dāng)前對(duì)象的父類。
- this關(guān)鍵字:指向自己的引用辛块。
子類不繼承父類構(gòu)造器,若父類構(gòu)造器有參數(shù)抖甘,需在子類的構(gòu)造器中顯式地通過 super 關(guān)鍵字調(diào)用父類的構(gòu)造器热鞍。
構(gòu)造方法
當(dāng)一個(gè)對(duì)象被創(chuàng)建時(shí)候葫慎,構(gòu)造方法用來初始化該對(duì)象。構(gòu)造方法和它所在類的名字相同薇宠,但構(gòu)造方法沒有返回值偷办。
通常會(huì)使用構(gòu)造方法給一個(gè)類的實(shí)例變量賦初值,或者執(zhí)行其它必要的步驟來創(chuàng)建一個(gè)完整的對(duì)象
// 一個(gè)簡單的構(gòu)造函數(shù)
class MyClass {
int x;
// 以下是構(gòu)造函數(shù)
MyClass() {
x = 10;
}
}
next() 以有效字符后的空白格為結(jié)束符或分隔符
nextLine()以回車鍵結(jié)束\e.printStackTrace() ;
printStackTrace()方法的意思是:在命令行打印異常信息在程序中出錯(cuò)的位置及原因澄港。(這是白話解釋椒涯,比較容易理解)無論是否發(fā)生異常,finally 代碼塊中的代碼總會(huì)被執(zhí)行回梧。
java類中為什么要有g(shù)et和set方法废岂,而不是直接(類.屬性)出來屬性。
java中屬性有四個(gè)修飾符private狱意、protected湖苞、public和default,每個(gè)修飾符的訪問權(quán)限不同详囤。
- public:可以被所有其他類所訪問
- protected:自身财骨、子類及同一個(gè)包中類可以訪問
- default:同一包中的類可以訪問,聲明時(shí)不加修飾符,默認(rèn)為default隆箩。
- private:只能被自己訪問和修改
當(dāng)修飾符不是public
该贾,屬性訪問權(quán)限被限制,其它類想要使用該屬性就要借用該類中的get
和set
方法進(jìn)行操作捌臊。
對(duì)外訪問杨蛋,使用getName
,而不是name
理澎。
采用
this
關(guān)鍵字是為了解決實(shí)例變量(private String name
)和局部變量(setName(String name)
中的name
變量)之間發(fā)生的同名的沖突六荒。類實(shí)現(xiàn)接口,使用關(guān)鍵字
implements
繼承矾端,使用關(guān)鍵字entends
- 一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口掏击。
- 一個(gè)類只能繼承一個(gè)類,但是能實(shí)現(xiàn)多個(gè)接口秩铆。
- 一個(gè)接口能繼承另一個(gè)接口砚亭,這和類之間的繼承比較相似 用
extends
。
- Abstract表示抽象類殴玛,抽象類本身不可實(shí)例化捅膘,必須有子類去繼承,且子類中實(shí)現(xiàn)抽象父類中所有的抽象方法滚粟,子類才可實(shí)例化寻仗。
final修飾的類,不可繼承凡壤。
兩者不能同時(shí)修飾一個(gè)類
Java Application 中的主類需包含main方法署尤,main方法的正確形參:
String[] args / String args[] / String... args都是正確的。內(nèi)部類可以是靜態(tài)static的亚侠,也可用public曹体,default,protected和private修飾硝烂,
外部類的修飾符只能是public箕别,abstract,final
static可以用來修飾內(nèi)部類,但是不可以用來修飾外部類
static修飾的為類成員,會(huì)隨著類的加載而加載,比如靜態(tài)代碼塊,靜態(tài)成員,靜態(tài)方法(這里只是加載,并沒有調(diào)用)等等,可以想象一下,如果把一個(gè)Class文件中的外部類設(shè)為static,目的難道是讓這個(gè)類隨著應(yīng)用的啟動(dòng)而加載嗎滞谢?如果在這次使用過程中根本沒有使用過這個(gè)類,那么是不是就會(huì)浪費(fèi)內(nèi)存串稀。這樣來說設(shè)計(jì)不合理,總而言之,設(shè)計(jì)不合理的地方,Java是不會(huì)讓它存在的。
而為什么內(nèi)部類可以使用static修飾呢,因?yàn)閮?nèi)部類算是類的成員了,如果沒有使用靜態(tài)來修飾,那么在創(chuàng)建內(nèi)部類的時(shí)候就需要先有一個(gè)外部類的對(duì)象,如果我們一直在使用內(nèi)部類,那么內(nèi)存中就會(huì)一直存在外部類的引用,而我們有時(shí)候只需要使用內(nèi)部類,不需要外部類,那么還是會(huì)浪費(fèi)內(nèi)存,甚至?xí)斐蓛?nèi)存溢出狮杨。使用static修飾內(nèi)部類之后,內(nèi)部類在創(chuàng)建對(duì)象時(shí)就不需要有外部類對(duì)象的引用了母截。線程安全
線程不安全的:ArrayList ,LinkedList, PriorityQueue,TreeMap,TreeSet,HashMap,HashSet,StringBilder
線程安全的: Vector,Stack,Dictionary ,StringBuffer.