溫馨提示×

溫馨提示×

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

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

php和java面向?qū)ο蟮膮^(qū)別有哪些

發(fā)布時(shí)間:2021-09-17 16:34:47 來源:億速云 閱讀:172 作者:小新 欄目:編程語言

小編給大家分享一下php和java面向?qū)ο蟮膮^(qū)別有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

區(qū)別:1、php的class關(guān)鍵字不能有除abstract、final之外的修飾符;而Java可以有。2、php的new關(guān)鍵字后面的類名可以是字符串類型的變量,java不可以。3、訪問父對象時(shí),php用parent,而java用super。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1&&java8版,DELL G3電腦

PHP與Java面向?qū)ο蟮牟煌耆容^

PHP是一門弱類型語言,可以用面向過程方式編程,也可以面向?qū)ο蠓绞骄幊?。Java則是一門強(qiáng)類型語言,純面向?qū)ο?。這兩門語言在面向?qū)ο蠓矫嬗行┫嗨浦?,有了Java的學(xué)習(xí)經(jīng)驗(yàn)學(xué)習(xí)PHP很容易上手,光是看這些關(guān)鍵字(class、extends、interface、implements、final、public、protected、private、static)就有一種很熟悉的感覺。

初略總結(jié)了幾個(gè)方面的異同,本人不是學(xué)術(shù)派,只求實(shí)用,如有錯(cuò)誤之處,歡迎指正。

比較1: 類和接口的聲明、類繼承、接口實(shí)現(xiàn)的聲明

比較點(diǎn)相同點(diǎn)不同點(diǎn)
類聲明都是用class關(guān)鍵字,可用abstract、final修飾,這兩個(gè)修飾符的含義都是一樣php的class關(guān)鍵字不能有除abstract、final之外的修飾符,Java的class關(guān)鍵字可以有public、proctected、private修飾符,Java的一個(gè)文件只能有一個(gè)public類
接口聲明用interface關(guān)鍵字同上
類繼承用extends關(guān)鍵字,單繼承
接口繼承用extends關(guān)鍵字
接口實(shí)現(xiàn)用implements關(guān)鍵字,可以實(shí)現(xiàn)多個(gè)接口
類實(shí)例化用new關(guān)鍵字,都是返回對象的引用,對象賦值也是引用賦值php的new 關(guān)鍵字后面的類名可以是字符串類型的變量,java不可以
訪問父對象
php用parent關(guān)鍵字,java用super關(guān)鍵字

比較2:訪問修飾符與訪問方法

比較點(diǎn)相同點(diǎn)不同點(diǎn)
修飾符關(guān)鍵字都是public、protected、private
修飾符行為public: 類內(nèi)部外部都可以訪問,protected: 類內(nèi)部和子類內(nèi)部可以訪問,private: 只有類內(nèi)部才可以訪問php的訪問控制的要松一點(diǎn)
默認(rèn)修飾符php默認(rèn)是public,java默認(rèn)是private
實(shí)例成員和實(shí)例方法的訪問方法php必須用$this->,java用this.,也可以省略

比較3:類成員與類方法

比較點(diǎn)相同點(diǎn)不同點(diǎn)
關(guān)鍵字static
作用域該類的所有實(shí)例
訪問方法類名::變量或函數(shù)名稱,不需實(shí)例化就能訪問

比較4:類常量

比較點(diǎn)相同點(diǎn)不同點(diǎn)
關(guān)鍵字constjava通常用final,php不能用final
作用域該類的所有實(shí)例
訪問方法類名::變量或函數(shù)名稱,不需實(shí)例化就能訪問

比較5:抽象方法與抽象類

基本相同,抽象方法和抽象類都是用 abstract 關(guān)鍵字修飾,至少有一個(gè)抽象方法的類叫做抽象類,抽象類不能實(shí)例化,如果子類要能夠?qū)嵗仨殞?shí)現(xiàn)父類的所有抽象方法。

比較6:重寫/覆蓋/重載

子類方法與父類方法簽名完全一樣,叫做重寫/覆蓋,此時(shí)父類方法在子類中是不可見的。Java由于是強(qiáng)類型語言,有重載機(jī)制(相同方法名字,不同簽名,調(diào)用時(shí)根據(jù)實(shí)際參數(shù)類型和個(gè)數(shù)確定調(diào)用的是哪一個(gè)方法)。PHP是弱類型,沒有這種重載,而有動態(tài)地創(chuàng)建類屬性和方法這種重載,是通過魔術(shù)方法(__get, __set, __unset, __isset, __callStatic)來實(shí)現(xiàn)的。

以上是“php和java面向?qū)ο蟮膮^(qū)別有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI