1. 程式人生 > >關於php中靜態方法,靜態屬性的一些淺見

關於php中靜態方法,靜態屬性的一些淺見

1、靜態方法,靜態屬性被稱作類方法、類屬性,可以在沒有例項化的時候直接使用  類名::屬性名  類名::方法名()   這樣的方式來呼叫。

header("content-type:text/html;charset=utf-8");
class Human{
    static public $name = "小妹";
    public $height = 180;
    static public function tell(){
        echo self::$name;
        
        //靜態方法呼叫靜態屬性,使用self關鍵詞
        //echo $this->height;//錯。靜態方法不能呼叫非靜態屬性
        //因為 $this代表例項化物件,而這裡是類,不知道 $this 代表哪個物件
    }
    public function say(){
//        echo self::$name . "我說話了".'<br>';
//        echo '<hr>';
//        self::tell();
        echo '我是say方法';
    }
}

隨手找了一個例子,測試了一下使用的方式。

2、靜態方法不能呼叫非靜態屬性,因為非靜態屬性需要例項化後,儲存到物件裡面

3、非靜態方法可以呼叫靜態屬性和靜態方法。使用self::屬性名  self::方法名()  這樣的方式來呼叫

相關推薦

關於php靜態方法靜態屬性一些淺見

1、靜態方法,靜態屬性被稱作類方法、類屬性,可以在沒有例項化的時候直接使用  類名::屬性名  類名::方法名()   這樣的方式來呼叫。 header("content-type:text/html;charset=utf-8"); class Human{ s

python例項方法例項屬性方法屬性靜態方法的總結

class Game(object): #歷史最高分 top_score = 0 def __init__(self,player_name): self.name = player_name @staticmethod def show

java靜態變數靜態方法靜態程式碼塊構造程式碼塊構造方法...執行順序

public class TestExeOrder { public TestExeOrder(){ System.out.println("類的構造方法執行了..."); } { System.out.println("構造程式碼塊執行了

區別JS類的靜態方法靜態變數例項方法例項變數

1.類的靜態方法     先來段程式碼之後分析 // JS類靜態函式 function BaseClass() { } // 類新增add函式 BaseClass.add = function()

java靜態方法靜態屬性

靜態方法,靜態屬性,都是不需要建立例項物件就可以呼叫,而且是單例的,不管建立多少個物件,都是共享一個 靜態屬性。 靜態方法不可以呼叫非靜態的變數,只可以呼叫靜態的屬性。 靜態方法不可以呼叫非靜態的方法,只可以呼叫靜態的方法 靜態方法和static程式碼塊在

python 類和物件 (類屬性方法靜態方法例項屬性例項方法

類:類是抽象的,在使用的時候通常會找到這個類的一個具體的存在,使用這個具體的存在。一個類可以找到多個物件物件: 某一個具體事物的存在,在現實世界中可以是看的到摸得著的。 可以直接使用類與物件的關係: 類就是建立物件的模板類的構成:                1.類的名稱:

PHPCURL方法curl_setopt()函式的一些引數

bool curl_setopt (int ch, string option, mixed value) curl_setopt()函式將為一個CURL會話設定選項。option引數是你想要的設定,value是這個選項給定的值。 下列選項的值將被作為長整形使用(在opti

java靜態方法靜態初始化塊及靜態變數的宣告和初始化不能使用泛型的原因

最近學習到了Java中的泛型,對於靜態方法,靜態初始化塊及靜態變數的宣告和初始化不能使用泛型的原因做了一個彙總: 1。因為泛型是要在物件建立的時候才知道是什麼型別的,而物件建立的程式碼執行先後順序是static的部分,然後才是建構函式等等。所以在物件初始化之前static的

php靜態方法靜態屬性的介紹

靜態屬性 size col 實例 生效 訪問類 都是 靜態 self 靜態分為兩個部分:靜態屬性和靜態方法 靜態的東西都是給類用的(包括類常量),非靜態的都是給對象用的 靜態屬性 在定義屬性的時候,使用關鍵字static修飾的屬性稱之為靜態屬性。 靜態方法 使用sta

python的類屬性方法靜態方法

1.類屬性 就是針對 類物件 定義的屬性 使用 賦值語句 在 class 關鍵字下方可以定義 類屬性 類屬性 用於記錄 與這個類相關 的特徵 2. 類方法 就是針對 類物件 定義的方法 就是針對 類物件 定義的方法 在 類方法 內部可以直接訪問 類屬性 或者呼叫

靜態方法方法屬性方法

ack posit elf none pre name n) nal last 1.靜態方法:只是名義上歸類管理,實際上在靜態方法裏訪問不了類或實例中的任何屬性。相當於類的工具包。 class Dog(object): def __init__(self,name

python3學習筆記 靜態方法方法屬性方法

SM clas ssm inf pytho ID 靜態方法 delet 分享 靜態方法@statitmetod   只是名義上歸類管理,實際上在靜態方法裏訪問不了類或實例中的任何屬性 類方法@classmethed   只能訪問類變量,不能訪問實例變量 屬性方法@prope

python靜態屬性靜態方法方法

類的屬性 tool 方法 method nbsp 靜態屬性 world assm 函數調用 #靜態屬性的作用是吧類的方法隱藏起來(可以把背後的邏輯隱藏起來),讓用戶感覺是在電泳屬性,而不是方法 class Static: attribute='屬性'

Python:類屬性實例屬性私有屬性靜態方法方法實例方法

所有 參數 方法 rate self 類屬性 不能 anaconda 賦值 類屬性可以直接在方法中賦值,但 一、調用該屬性時,必須先調用該方法; 二、與 init 方法區別是,init方法只初始化一次,初始化完成後作為全局變量。在方法中賦值屬性,每次調用該方法,該屬性初始化

java靜態變數靜態程式碼塊靜態方法例項變數匿名程式碼塊的載入順序

1. java中靜態變數,靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊 在Java中,使用{}括起來的程式碼稱為程式碼塊,程式碼塊可以分為以下四種: (1)普通程式碼塊:就是類中方法的方法體 public void xxx(){ //code }

靜態方法方法屬性setter用法delete用法和屬性方法的應用場景

一、靜態方法  1.1、定義    在類中的方法前面通過@staticmethod裝飾器即可把其裝飾的方法變為一個靜態方法 1 2 3 4 5 6 7 8 9 10 class Person(object): &

靜態靜態方法靜態變數的執行順序按出現執行

package com.study; public class StaticCode { static { i = 33;// i's value is from 0 to 33 g(); } static int i = 1;

淺析java靜態方法靜態方法和構造方法的執行順序問題

https://blog.csdn.net/qq_42401622/article/details/81190406 對於java中的靜態方法,非靜態方法和構造方法的理解: 靜態方法是隨著的java中虛擬機器的類的載入而載入,是跟隨繫結在一起的。 public class Main{ s

Java構造方法程式碼塊靜態塊的執行順序

class A{ public A(){ System.out.println("class A");//父類構造方法 } { System.out.println("I am A class ");//父類構造塊

python方法例項方法靜態方法的作用和區別

  Python中至少有三種比較常見的方法型別,即例項方法,類方法、靜態方法。它們是如何定義的呢?如何呼叫的呢?它們又有何區別和作用呢?且看下文。 首先,這三種方法都定義在類中。下面我先簡單說一下怎麼定義和呼