建構函式:
格式:1,函式名和類名相同。
2,不需要定義返回值型別。
3,函式中不需要return語句。
作用:給物件進行初始化。
建構函式在類中可以有多個,是以過載的形式體現的。
特點:當定義類時,類並未定義建構函式,那麼系統會加上乙個預設的看引數建構函式。
class demo
}這個預設的建構函式有什麼修飾符呢?
如果類有public修飾,預設建構函式也有public修飾。
如果類沒有public修飾,預設建構函式也沒有public修飾。
當類中定義了自定義構造後,預設的就沒有了。
什麼時候寫建構函式呢?
在分析事物時,該事物的實體,是否在出現時就具有一些預設的屬性值或者行為。
如果有,就用建構函式來完成。
------------------------------
this關鍵字:
當成員變數和區域性變數同名的時候,為了進行區分。可以使用this來完成。
class person
person(string name,int age)
public void setname(string name)
public int getage()
public boolean compare(person p)
}main()
this:代表的是就是乙個本類物件,哪個物件呼叫了this所在的函式,那麼this就代表哪個物件。
什麼時候使用this關鍵字呢?
定義功能時,該功能又使用到了呼叫該功能物件。那麼這是就用this來表示這個物件。
class thisdemo
thisdemo()
void show()
void method()
}this的第二種用法:
通過this語句,可以在建構函式間進行互相呼叫。
注意:this語句,必須要寫在建構函式的第一行。因為初始化動作要先完成。
this在本類中可以用來呼叫成員變數,也可以呼叫成員函式,還可以呼叫建構函式。
---------------------------------------
static關鍵字:
1,隨著類的載入而載入,隨著類的消失而消失,static的生命週期最長。
2,優先於物件存在。
3,static成員被所有物件所共享。
4,static成員可以直接被類名所呼叫。
靜態的使用注意事項:
1,靜態方法只能訪問靜態成員。非靜態方法可以訪問靜態也可以訪問非靜態。
2,靜態方法中不可以定義this和super語句。
3,主函式是靜態的。
class staticdemo
public static void main(string args)
}public static void main(string args)
public :最大許可權。
static :該類不需要建立物件。就可以使用這個main方法。
void : 該函式沒有具體返回值。
main : 固定名稱。jvm認識。
string args:主函式的引數。字串資料型別的引數。
那麼jvm在呼叫主函式的時候到底傳遞的是什麼實際引數呢?
string args = new string[0];
練習:class demo
//這是可以存在的。是乙個一般函式,但是函式名不符合規範。
demo()
}main()
----------------------------------------
static**塊:隨著類的載入而執行,而且只執行一次。
優先於主函式執行。
作用:對類進行初始化。
class demo
}public static void show()
}class test
test()
test(int x)
}class testmain
}----------------------------------
內部類:
在類中定義的類,稱之為內部類。
內部類可以定義在外部類的成員位置上,也可以定義在區域性位置上。
內部類的訪問特點:
內部類可以直接訪問外部類中的成員,包括私有的。那是因為內部類都持有乙個外部類的引用。外部類名.this
外部類要訪問內部類需要建立內部類的物件。
class outer
}void function()
}main()
當內部類定義在成員位置上,可以被成員修飾符所修飾。
private,static。
什麼時候內部類被私有呢?內部類不需要對外暴露,在外部類中隱藏時,需要private
什麼時候內部類被靜態呢?當要在內部類中定義靜態成員時,內部類必須被static修飾。
注意:內部類變成靜態後,就會出現訪問侷限性,只能訪問外部類中的靜態成員。
class demo
void method()
public static void main(string args)
}當內部類在區域性位置時,內部類不可以被成員修飾符修飾。
內部類不可以直接訪問區域性的變數。只能訪問被final修飾的區域性變數。
什麼時候定義內部類?
描述事物時,該事物內部還有具體事物。可以將該事物通過內部類來描述。
----------------------------------------
Java內部類總結之區域性內部類和匿名內部類
區域性內部類 定義在方法中,可以看作是乙個方法中的區域性變數,只能在該方法中使用。測試 如下 定義乙個區域性內部類,可以將其看作乙個方法中的區域性變數,只能在該方法中使用 author rao class localinner 只能在定義該區域性內部類的外部方法裡面生成其物件並呼叫其內部方法 new...
java內部類總結
內部類 1,概述 內部類是指在乙個外部類的內部再定義乙個類。內部類作為外部類的乙個成員,並且依附於外部類而存在的。內部類可為靜態,可用protected和private修飾。而外部類不可以 外部類只能 使用public和default 2,分類 成員內部類 區域性內部類 靜態內部類 匿名內部類 圖形...
Java內部類總結
內部類 1,概述 內部類是指在乙個外部類的內部再定義乙個類。內部類作為外部類的乙個成員,並且依附於外部類而存在的。內部類可為靜態,可用protected和private修飾。而外部類不可以 外部類只能 使用public和default 2,分類 成員內部類 區域性內部類 靜態內部類 匿名內部類 圖形...