靜態與非靜態的區別在於前面有沒有static的修飾,有static的是靜態變數,明顯,沒有的則是非靜態了。一般呼叫靜態變裡,是通過 :: 來呼叫,而非靜態是通過->來呼叫。但下面去會顛覆你的三觀。你會發現用 :: 也能呼叫非靜態,用 ->也能呼叫靜態.
<?php
class admin
public static function getname()
public function getnick($nick)
public static function addcount()
public function addnum()
public static function max($num, $num2)
public function max3($num1, $num2, $num3)
public function index()
} $person = new admin();
$person->nick; // jose
$person->getnick('tang');
echo $person->nick; //tang;
echo admin::$count; // 0
admin::addcount(); // $count = 1
admin::addcount(); // $count = 2
admin::addcount(); // $count = 3
echo admin::$count;
echo admin::index(); // this is index
echo $person->index(); // this is index
echo admin::getnick('nike'); //報錯了,因function getnick() 中有$this
//同樣也可以通過 例項名 -> 來呼叫靜態方法
$person->addcount();
$person2 = new admin();
$person->addcount(); // $count = 5;
?>
靜態和非靜態
在自定義類和.net framework類庫中都可以發現,類中大部分是乙個類,很少是靜態類,那到底靜態類是否真的需要?其實程式上的設計都是必須的,所有的設計都是 於生活,於客戶分析。在程式設計初期,需要業務邏輯,明確編寫流程,以防後期各種修改。比如設計個學校的管理軟體,記錄每個學生的資訊,包括班級 ...
靜態和非靜態
靜態包括靜態類 靜態方法和靜態變數。靜態都是全域性擁有的,比如,靜態變數是這個類的所有例項共有 乙個例項的修改影響其他例項。靜態類中只能包含靜態變數和靜態方法。非靜態類既可以包含靜態變數和方法,又可以包含非靜態變數和方法。靜態類不能夠被例項化,直接使用類名呼叫變數或方法。非靜態變數同樣可以使用類名呼...
物件導向 靜態類與非靜態類的區別
靜態類和非靜態類重要的區別是在於靜態類不能被例項化,也就是說不能使用 new 關鍵字建立靜態類型別的變數。使用static關鍵字來宣告靜態類,這樣的意義在於 首先,它防止程式設計師寫 來例項化該靜態類 其次,它防止在類的內部宣告任何例項欄位或方法。關鍵字 static 呼叫方式 靜態類名.靜態方法 ...