JavaEE实战班第十四天
今天學(xué)的是封裝,this關(guān)鍵字,和靜態(tài)static。
其中封裝,上個(gè)大任務(wù)中沒(méi)了解的封裝今天學(xué)到了,知道了封裝的主要作用是防止誤操作,運(yùn)用private限制其權(quán)限。從而達(dá)到目的。
我們觀(guān)察如下代碼:
class?Person{
private String name ;?// 表 示 姓 名private int?age?; //?表示年齡void?tell(){
System.out.println("姓名:" + name + ";年齡:" + age) ;
}
};
public class Demo{
public static void main(String?args[]){ Person per = new Person() ; per.name = "張三" ;
per.age = -30 ; per.tell() ;
}
};
以上的操作代碼并沒(méi)有出現(xiàn)了語(yǔ)法錯(cuò)誤,但是出現(xiàn)了邏輯錯(cuò)誤 (年齡-30歲)
在開(kāi)發(fā)中, ??為了避免出現(xiàn)邏輯錯(cuò)誤, ??我們建議對(duì)所有屬性進(jìn)行封裝,并為其提供setter及getter方法進(jìn)行設(shè)置和取得操作。
修改代碼如下:
class?Person{
private String name ;?// 表 示 姓 名private int?age?; //?表示年齡void?tell(){
System.out.println("姓名:" + getName() + ";年齡:" + getAge()) ;
}
public void setName(String str){ name = str ;
}
public void setAge(int a){ if(a>0&&a<150)
age = a?;
}
public String?getName(){ return name?;
}
public int getAge(){ return age ;
}
};
public class OODemo10{
public static void main(String?args[]){ Person per = new Person() ;
per.setName("張三") ;
per.setAge(-30) ;
per.tell() ;
}
}
this
在Java基礎(chǔ)中,this關(guān)鍵字是一個(gè)最重要的概念。使用this關(guān)鍵字可以完成以下的操作:
- 調(diào)用類(lèi)中的屬性
- 調(diào)用類(lèi)中的方法或構(gòu)造方法
- 表示當(dāng)前對(duì)象
static
static表示“靜態(tài)”的意思,可以用來(lái)修飾成員變量和成員方法(后續(xù)還會(huì)學(xué)習(xí) 靜態(tài)代碼塊 和 靜態(tài)內(nèi)部類(lèi))。
static的主要作用在于創(chuàng)建獨(dú)立于具體對(duì)象的域變量或者方法簡(jiǎn)單理解:
被static關(guān)鍵字修飾的方法或者變量不需要依賴(lài)于對(duì)象來(lái)進(jìn)行訪(fǎng)問(wèn),只要類(lèi)被加載了,就可以通過(guò)類(lèi)名去進(jìn)行訪(fǎng)
問(wèn)。
并且不會(huì)因?yàn)閷?duì)象的多次創(chuàng)建 而在內(nèi)存中建立多份數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的JavaEE实战班第十四天的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Excellent Service
- 下一篇: java美元兑换,(Java实现) 美元