成員變量和局部變量
1.類體屬性部分定義的變量稱為成員變量;方法體內(nèi)定義的變量稱為局部變量。
2.成員變量在整個(gè)類內(nèi)都有效;局部變量只在定義它的方法體內(nèi)有效。
3.如果成員變量和局部變量的名字相同,則在方法體里成員變量將被隱藏。
Public class Person{
int age; //成員變量
String name; //成員變量
public Person(int age,String name)
{
this.age=age; //this.age中的age為成員變量,age為局部變量
this.name=name;
}
實(shí)例變量和類變量(靜態(tài)變量)以及類方法
1. 實(shí)例變量+類變量=成員變量。
2. 類變量聲明時(shí)要帶有“static”關(guān)鍵字。
3. 實(shí)例變量使用時(shí)是被對(duì)象調(diào)用的,即“對(duì)象名.實(shí)例變量名”;
類變量使用時(shí)被類調(diào)用(也可以是對(duì)象),即“類名.類變量”( 對(duì)象名. 類變量)。
4. 某個(gè)對(duì)象更改其實(shí)例變量,其他對(duì)象不受影響;類變量改變時(shí),所有對(duì)象的這個(gè)類變量都被改變。
5. 實(shí)例方法既能對(duì)類變量操作,用能對(duì)實(shí)例變量操作,而類方法只能對(duì)類變量進(jìn)行操作。
Public class Child{
int age;
String name;
static int total=0;
public void joinGame(){
System.out.println("有一個(gè)小孩加進(jìn)來啦");
total++;
}
}
public static void main(String []args)
{
Child ch1=new Child();
ch1.age=10;
ch1.name=”小小”;
System.out.println("共有"+ch1.total); }
靜態(tài)代碼塊static{...}
首先靜態(tài)代碼塊static{...}是在類被裝載的時(shí)候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個(gè)實(shí)例共享的區(qū)域,任何該類的實(shí)例對(duì)該區(qū)域的操作都對(duì)所有所有該類的實(shí)例對(duì)該區(qū)域的操作都是生效的。
static代碼塊主要用在想在類加載的時(shí)候就初始化一些內(nèi)容,如:初始化數(shù)據(jù)庫(kù)鏈接classforName("XXX"),