91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中靜態方法怎么訪問非靜態方法

發布時間:2022-03-22 17:02:42 來源:億速云 閱讀:212 作者:iii 欄目:編程語言

本篇內容主要講解“php中靜態方法怎么訪問非靜態方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php中靜態方法怎么訪問非靜態方法”吧!

PHP中靜態方法可以訪問非靜態方法;可以先實例化對象,然后再調用對象中的非靜態方法即可,靜態調用非靜態方法是可以的,但是靜態調用構造方法是不可以的。

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php中靜態方法可以訪問非靜態方法嗎

如果我們調用了非靜態方法會怎么樣呢?首先做測試。

<?php
class test{
    function test() {
        echo 'it works';
    }
}
test::test();
?>

執行以下,返回錯誤如下:

Fatal error: Non-static method test::test() cannot be called statically in /home/×××/test.php
on line 7 Call Stack: 0.0002 332548 1. {main}() /home/×××/test.php:0

這個時候,可能大家就會認為靜態調用非靜態方法是行不通的了,但其實,結論下的過早了,因為test()這個方法比較特殊,與類同名,是構造方法。 我們繼續測試。

<?php
class test {
    function test() {
        echo 'it works';
    }
    function test2() {
        echo 'it works too';
    }
}
test::test2();
?>

執行結果:

it works too

這說明,靜態調用非靜態方法是可行的,但是靜態調用構造方法是不可以的。為了驗證這個結論,我又做了如下測試:

<?php
class test{
    static function test() {
        echo 'it works';
    }
}
test::test();
?>

執行的結果如下:

Fatal error: Constructor test::test() cannot be static in /home/xxx/test.php on line 9

構造方法不能聲明靜態,所以上面的推論正確。

但這個結果的確是很特殊的,因為可能只有PHP可以靜態調用非靜態方法,我用Java做了實驗,如果靜態調用非靜態方法會報如下錯誤:

Cannot make a static reference to the non-static method showString() from the type HelloWorldApp

到此,相信大家對“php中靜態方法怎么訪問非靜態方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

陈巴尔虎旗| 辽中县| 清新县| 泗水县| 嘉义县| 兰西县| 葫芦岛市| 灯塔市| 满洲里市| 望都县| 乌苏市| 靖边县| 灌阳县| 保定市| 常德市| 繁昌县| 施甸县| 文水县| 开平市| 聂拉木县| 上蔡县| 旬阳县| 平泉县| 崇仁县| 工布江达县| 阿尔山市| 卢氏县| 霍邱县| 南平市| 九江县| 灌南县| 邵东县| 进贤县| 武山县| 景泰县| 墨脱县| 大田县| 澜沧| 怀集县| 怀安县| 射洪县|