java se 權(quán)限修飾符、final關(guān)鍵字、代碼塊、內(nèi)部類
一、權(quán)限修飾符
1.簡(jiǎn)述:
public:最高權(quán)限,那都可以訪問(wèn)
protected:受保護(hù)的
default:default 默認(rèn)的(不寫權(quán)限修飾符就是默認(rèn)權(quán)限,不能直接把default寫出來(lái))
private:私有的(只能在自己類中直接訪問(wèn))
2.不同權(quán)限的訪問(wèn)能力
public | protected | default(空的) | private | |
同類 | yes | yes | yes | yes |
同包不同類 | yes | yes | yes | no |
不同包子父類 | yes | yes | no | no |
不同包非子父類 | yes | no | no | no |
public -> 最大權(quán)限 privat->最小權(quán)限
建議:
屬性: 用 private -> 封裝思想
成員方法: public -> 便于調(diào)用
構(gòu)造: public -> 便于new對(duì)象
二、final關(guān)鍵字
1.final修飾類
格式: public final class 類名{}
特點(diǎn):被final修飾的類不能被繼承
2.final修飾方法
格式:修飾符 final 返回值類型 方法名(形參){
方法體
return 結(jié)果}
特點(diǎn):被final修飾的不能被重寫(final 和abstract 不能同時(shí)修飾一個(gè)方法)
3.final修飾局部變量
格式:final 數(shù)據(jù)類型 變量名 = 值
特點(diǎn):被final修飾的變量不能被二次賦值
4.final修飾對(duì)象
格式:final 數(shù)據(jù)類型 對(duì)象命 = new 對(duì)象()
特點(diǎn):被final修飾的對(duì)象,地址值不能改變,對(duì)象中的屬性值可以改變
5.final修飾成員變量
格式:final 數(shù)據(jù)類型 成員變量 = 值
特點(diǎn):1.需要手動(dòng)賦值。2.不能二次賦值
三、代碼塊
1.構(gòu)造代碼塊
格式:{
代碼
}
執(zhí)行特定:優(yōu)先于方法執(zhí)行,每new一次,就會(huì)執(zhí)行一次
2.靜態(tài)代碼塊
格式:static{
代碼
}
特點(diǎn):靜態(tài)代碼塊優(yōu)先于構(gòu)造代碼塊和構(gòu)造方法執(zhí)行,而且只執(zhí)行一次。
3.靜態(tài)代碼塊使用場(chǎng)景
一些代碼最先初始化而且只初始化一次
四、內(nèi)部類
在java中允許一個(gè)類定位于另外一一個(gè)類,前者是內(nèi)部類,后者是外部類
分類: 成員內(nèi)部類,局部?jī)?nèi)部類,匿名內(nèi)部類
1.靜態(tài)成員內(nèi)部類
格式:直接在定義內(nèi)部類的時(shí)候加上static關(guān)鍵字
public class A{
static class
B
{
}
}
注意:
- 內(nèi)部類可以定義屬性,方法,構(gòu)造
- 靜態(tài)成員內(nèi)部類可以被final或者abstract修飾(final->不能繼承,abstract->不能new)
- 靜態(tài)內(nèi)部類不能調(diào)用外部的非靜態(tài)成員
- 內(nèi)部類還可以被四種權(quán)限修飾符修飾
調(diào)用內(nèi)部靜態(tài)類:外部類.內(nèi)部類 對(duì)象名 = new 外部類();
2.非靜態(tài)成員內(nèi)部類
格式:
public class A{
public class
B
{
}
}
注意:
- 內(nèi)部類可以定義屬性,方法,構(gòu)造
- 內(nèi)部類還可以被四種權(quán)限修飾符修飾
調(diào)用非靜態(tài)內(nèi)部類:外部類.內(nèi)部類 對(duì)象名 = new 外部類().new 內(nèi)部類();
3.局部?jī)?nèi)部類
可以在代碼中構(gòu)造中代碼塊中
4.匿名內(nèi)部類
格式:
new 接口/對(duì)象類(){
重寫方法
}.重寫的方法();
或者:
類名 對(duì)象命 = new 接口/對(duì)象類(){
重寫方法
}
對(duì)象命.重寫的方法();
使用情況:僅簡(jiǎn)單使用一下接口里面的方法。
Java基礎(chǔ) MySQL