什么是寫一個java類,Java什么是類?class的相關介紹

本章給大家帶來Java什么是類?class的相關介紹,讓大家了解關于類(class)的一些知識。有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。class Point{

constructor(){

}

toString(){

}

}

console.log(Object.keys(Point.prototype))

console.log(Object.getOwnPropertyNames(Point.prototype))

上面就是一個類

1、類的數據類型就是函數,類本身就指向構造函數console.log(typeof Point) // "function"

console.log(Point ===Point.prototype.constructor) // true

2、構造函數的 prototype 屬性在 ES6 的“類”上繼續存在。事實上,類的所有方法都定義在類的 prototype 屬性上。

開頭的代碼等同于class Point{}

Point.prototype = {

constructor() {},

toString() {},

}

由于類的方法(除 constructor 以外)都定義在 prototype 對象上,所以類的新方法可以添加在 prototype 對象上。 Object.assign 方法可以一次性的向類添加多個方法

很重要的一點,類的內部定義的所有方法都是不可枚舉的。console.log(Object.keys(Point.prototype)) // []

console.log(Object.getOwnPropertyNames(Point.prototype)) // ["constructor", "toString"]

其中,Object.keys() 返回一個數組,包含對象自身所有可枚舉屬性,不包含 Symbol,Object.getOwnPropertyNames() 返回一個數組,包含自身所有屬性,不包含 Symbol

3、constructor方法

constructor 方法是類的默認方法,通過 new 命令生成對象實例是自動調用該方法。一個類必須有 constructor 方法,如果沒有定義,一個空的 constructor 方法會被默認添加。

constructor 方法默認返回實例對象,也就是 this 的指向。不過完全可以指定返回另外一個對象

4、繼承class ColorPoint extends Point {

constructor(x, y, color) {

super(x, y) // 調用父類的 constructor(x, y)

this.color = color

}

toString() {

return this.color + '' + super.toString() // 調用父類的 toString()

}

}

看到 extends 是不是很熟悉,用過 React 的人肯定知道,在 React 的 ES6 寫法中我們經常這樣寫class XXXXX extends Component{}

ColorPoint 通過 extends 可以繼承 Point 類的所有屬性和方法

有沒有留意到 constructor 和 toString方法中都出現了 super 關鍵字,他指代父類的實例。

子類必須在 constructor 方法中調用 super 方法,否則新建實例就會報錯。因為子類沒有自己的 this 對象,而是繼承了父類的 this 對象,如果不調用 super ,子類就得不到 this。

其實 class 就是對對象原型的一種更加簡潔的寫法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529971.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529971.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529971.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows php sqlite,如何在Apache 2.4(Windows 7)上為PHP 5.6.14配置SQLite3?

我在Windows 7上,在Apache 2.4上使用PHP 5.6.14版,我正在嘗試訪問SQLite3數據庫.我正在……致命錯誤:找不到類“SQLite3”在這里你是一個簡單的PHP代碼…$db new SQLite3(phpdb);if ($db) {$db->query("CREATE TABLE dogbreeds (Name VARCHAR(255), MaxAge…

php 國密 簽名,關于php國密SM3簽名算法

推薦:《PHP視頻教程》php國密SM3簽名算法代碼地址github.com/lizhichao/sm安裝composer require lizhichao/one-sm使用require __DIR__ . /vendor/autoload.php; // 字符串簽名 echo OneSmSm3::sign(abc) . PHP_EOL; echo OneSmSm3::sign(str_repeat("adfas哈哈…

matlab狀態方程 傳遞函數 可控性,實驗一matlab系統的傳遞函數和狀態空間表達式的轉換...

實驗一 MATLAB 系統的傳遞函數和狀態空間表達式的轉換一、 實驗目的1、學習多變量系統狀態空間表達式的建立方法;2、通過編程、上機調試,掌握多變量系統狀態空間表達式與傳遞函數之間相互轉換的方法;3、掌握相應的MATLAB 函數。二、 實驗原理…

php里h和h的區別嗎,編碼h264h和h264b有什么區別

區別如下:1、版本H.265是新的編碼協議,也即是H.264的升級版。H.265標準保留H.264原來的某些技術,同時對一些相關的技術加以改進。新技術使用先進的技術用以改善碼流、編碼質量、延時和算法復雜度之間的關系,達到最優化設置。2、儲…

mysql5.1怎么備份,MySQL 5.1升級到MySQL 5.5的步驟

mysql 5.5已經出來有一段時間,性能有明顯提升,特別是對多核CPU的支持與TPS性能的提升。上周博主介紹了linux下編譯安裝mysql 5.5的步驟,安裝不出意外基本沒有問題。不過可能很多朋友和我一樣一直用的是mysql 5.1,現在想把數據庫升…

php file del 方法,php怎么遍歷文件刪除指定字符

php遍歷文件刪除指定字符的實現方法:首先創建一個PHP示例文件;然后通過“function del($getstr){…}”方法刪除指定目錄下所有指定文件中指定字符串即可。本文操作環境:windows7系統、PHP7.1版,DELL G3電腦php實現遍歷目錄并刪除指…

event類型 php,深入解析PHP的Laravel框架中的event事件操作

有時候當我們單純的看 Laravel 手冊的時候會有一些疑惑,比如說系統服務下的授權和事件,這些功能服務的應用場景是什么,其實如果沒有經歷過一定的開發經驗有這些疑惑是很正常的事情,但是當我們在工作中多加思考會發現有時候這些服務…

php 抽象類 靜態方法嗎,php中的抽象類和靜態方法是什么

php中的抽象類是指:在class前加了abstract關鍵字且存在抽象方法的類,它不能被直接實例化;靜態方法是指:被static關鍵字修飾的方法,靜態方法用于操作靜態屬性。抽象類抽象類是指在 class 前加了 abstract 關鍵字且存在抽…

python目錄結構生成庫,使用CMake構建平臺無關的目錄結構

我試圖為我的跨平臺項目創建一個目錄結構,但遇到了一些問題。我已經讓CMake確定了放置庫和可執行文件的適當位置,但這種結構僅適用于Windows。在我的結構如下所示:項目目錄垃圾箱可執行文件圖書館圖書館Python增壓模塊python腳本這在Windows上…

centos 怎樣下載php,centos下怎樣安裝軟件

centos下安裝軟件的方法是:centos安裝軟件的命令1、rpm包的安裝1.安裝一個包# rpm -ivh2.升級一個包# rpm -Uvh3.移走一個包# rpm -e4.安裝參數--force 即使覆蓋屬于其它包的文件也強迫安裝--nodeps 如果該RPM包的安裝依賴其它包,即使其它包沒裝&#xf…

php fpm 安裝配置,php php+fpm安裝配置

sudo apt - get install php5 - cgi php5 - mysql php5 - fpm php5 - curl php5 - gd php5 - idn php - pear php5 - imagick php5 - imap php5 - mcrypt php5 - mhash php5 - ming php5 - pspell php5 - recode php5 - snmp php5 - tidy php5 - xmlrpc php5 - xsl打開 /etc/ph…

php post 微信沙箱,微信支付平臺錯誤:獲取沙箱密鑰失敗,確保交易密鑰是

按官方提示進行獲取沙箱密鑰的時候,久試不爽,總是提示錯誤 :“獲取沙箱密鑰失敗,確保交易密鑰是否正確”。這個純粹是微信平臺挖的坑呀,文檔沒有詳細的進行一些講解,也沒有提示需要key,下面來說…

shell腳本執行oracle刪除表,shell腳本操作oracle刪除表空間、創建表空間、刪除用戶...

oracle下表空間的導出,用戶的刪除,表空間刪除,用戶新建,表空間新建,數據導入的shell使用非oracle用戶執行該腳本參數說名$1:base表空間的用戶名$2:同步表空間的用戶名使用場景測試用&#xff0c…

PHP標題獲取數據庫內容,php – 如何從數據庫獲取項目的標題并將其發送到CodeIgniter中的標題模板...

嘗試這個>型號更改>控制器已更改。在模型中function get_card($card){$query $this->db->query("SELECT * FROM table_name WHERE creditcards $card ");$result $query->result_array();$count count($result); # Newif(empty($count)){ # Newre…

php教程調用數據庫,PHP數據庫調用類調用實例,php數據庫調用實例_PHP教程

PHP數據庫調用類調用實例,php數據庫調用實例config("dnsaaa;uidsa;pwdsa;dbnametest");//3.選擇數據庫$dbname $db->select_db("test");//4.設置允許調試$db->debug true;//5.執行一條不返回結果的SQL語句$db->execute("insert…

linux顯示磁盤使用情況命令,Linux中監控磁盤分區和使用情況的幾個工具

導讀在文章中將討論Linux中可用于監視磁盤使用情況的命令行實用程序,提供有關總大小容量、已用總量、文件系統信息和分區信息等。讓我們看看這些工具如何幫助檢索這些信息df命令df是一個Linux命令行實用程序,用于監視Linux磁盤使用情況。df命令顯示文件系…

linux網絡是文件嗎,linux網絡配置文件是什么意思

離開了么放得下我么回來了么還會愛我么新兵答主07-22TA獲得超過2383個贊網卡的配置:1.網卡配置文件對于網卡信息的配置通常包括:配置IP地址、子網掩碼和網關。網卡信息保存在網卡配置文件中。網卡配置文件位于/etc/sysconfig/network-scripts目錄下。一塊…

cd linux給u盤安裝程序,使用U盤安裝CDlinux

3、先把u盤插在電腦上與電腦連接,格式化成“FAT”文件系統,更改卷標為“CDLINUX”,之后再打開UltraISO工具進行寫入:a、這里把你下載好的CDlinux文件打開。b、點擊“寫入硬盤映像”c、這里直接默認就好,點擊“寫入”4、…

linux7 telnet亂碼,CentOS7安裝配置telnet-server

1.安裝xinetd和telnet-serveryum -y install telnet-server xinetd2.啟服務(服務管理方式和CentOS6稍有區別)systemctl enable xinetd.serversystemctl enable telnet.socketsystemctl start telnet.socketsystemctl start xinetd.server注意:因為是由xinetd管理,這…

windows和linux存儲float,C語言float型數據在內存中的儲存方式

菜單導航/URHere/面包屑,通過CSS中的content簡潔表達代碼比如我們要寫一個菜單導航/URHere/面包屑,如: 首頁 > 個人中心 > 修改密碼 代碼: tolua雜記1 字符串調用luaFunc :DoString public class CallLuaFunction : MonoBehaviour { private…