【編程基礎】Java面向對象基礎知識

2022-01-30 程式設計師互動聯盟

前言:

前面一系列文章講了Java的一些語法基礎知識、Java中的數據類型和Java中的運算符,基本上都是學習Java語言的基礎知識,從這一講開始將會逐步介紹Java面向對象編程的一些高級知識。所有提到Java語言特性的文章肯定都會提到Java是面向對象的,在我的一篇文章中也說了Java語言有哪些特性,這一篇文章就給大家講講Java面向對象這一知識,有一個面向對象的概念,為以後學習更深層次的東西打下基礎。

面向對象程序設計五個特徵

在Java編程思想中提到了面向對象程序設計的五個特徵:

萬物皆為對象。也就是說世界上所有的事物都能通過抽象變成一個可以實現的對象。比如動物、建築物、服務。

程序是對象的集合,他們通過發送消息來告知彼此所有做的。程序是把要解決的問題抽象為若干的對象,這些對象之間通過消息來通知彼此做什麼和傳遞數據。比如:動物吃食物,這個程序包含了動物、食物兩種對象,通過吃這一動作來告知動物吃食物。

每個對象都有自己由其他對象構成的存儲。意思是對象之間可以是包含的關係,一個對象中可以含有另外一個對象,這樣就構成了一個新的對象。比如:發動機,汽車,汽車這一對象中包含發動機。

每個對象都擁有其類型。每個對象都是某個類的一個實例,這個類就是抽象出來的一類事物,這個類與其他類之間的重要區別就是行為,它能接受什麼樣的消息。比如:動物和食物,動物有吃的行為,移動的行為,而食物是沒有的。

某一特定類型的所有對象都可以接受同樣的消息。這是判斷某一對象是不是某個類型的標準。比如你定義了動物的一些行為,比如移動,那麼所有的動物都要相應移動這一消息,無論你是跑著移動、飛著移動,還是遊著移動。

上面是面向對象程序設計的基本特徵,下面介紹面向對象中用到的一些關鍵詞。


類:


類描述了具有相同特性(數據元素)和行為(功能)的對象集合,也是一個數據類型。比如說動物,它有重量、大小的特徵(數據元素),也有移動、吃的行為(功能)。

對象:

對象是具有狀態、行為和標識的是上面類的一個實例。每一個對象都有內部數據(它描述該對象的狀態)和方法(它產生行為),並且每一個對象都可以與其他對象區分開來,就是一個對象在內存中都有一個唯一的地址。在Java中對象都必須通過new來產生。

繼承:

把某些具有相同屬性和行為的事物抽象起來集中到一個類中,一個新類可以從這個類中派生,新類具有父類的所有的行為和特徵,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類),在Java中是通過 ChildCalss extends FartherClass 這種方式實現的。

抽象:

抽象在編程中就是把你要解決的問題分解為一個一個的小問題,直到你不能再分解為止,然後把你分解的這些小問題用一個一個的對象描述對應起來,將問題集合分解為對象集合。實際中就是不斷的問需要哪些服務,需要哪些對象才能履行它們的服務。良好的面向對象的的設計中,每個對象都可以很好的完成一項任務,但是它並不試圖做更多的事。

多態:

多態指的是在繼承關係中子類繼承父類的行為,這種行為在子類具體實現時可以是不一樣的。比如動物這一父類中有move()方法,在鳥類子類中和魚類子類中move的實現是不一樣的。在Java中多態是通過重寫(override:把父類的方法重新實現)和重載(overload:通過方法參數的不同在子類中來重新創建名字相同的方法)來實現的。

總結:

面向對象這一知識點太大,包含了面向對象的分析、面向對象的設計和面向對象的編程,這三部分每一部分都是一個很大的課題,包含的知識不僅僅是編程領域,還有哲學等其他知識,我肯定達不到大師級的那種分析。上面對於面向對象編程一些基本概念的介紹是看書加上自己的理解,個人水平有限,對於面向對象的理解還不夠深入,有寫的不合適的地方還請留言,批評指正,最好是添加我的公眾號:coder_online,我能及時的看到你的留言並給你答覆。

關注微信公眾號:程式設計師互動聯盟(coder_online)

更有(java/C/C++/Linux/Android)高手幫你解決難題,和你互動,討論編程未來。

長按二維碼識別關注程式設計師互動聯盟


關注後和技術大牛做朋友,還不趕快來

相關焦點

  • Java基礎學習心得筆記
    對於很多只會C語言的初學者而言,面對java基礎語法學習,反而感覺很難,其實其中最大的問題不是語法難,而是一種編程思想的轉變。
  • Java面向對象編程開發認證考試項目介紹
    工業和信息化部人才交流中心(以下簡稱中心)創建於1985年1月,1992年10月成為獨立事業法人單位,工業和信息化部所屬的黨政機關公益二類事業單位(正局級),是經中央機構編制委員會辦公室批准,國家事業單位登記管理局註冊登記,是工業和信息化部在人才培養、人才交流、智力引進、國際交流、會議展覽等方面的支撐機構;也是人力資源和社會保障部、工業和信息化部「全國信息專業技術人才知識更新工程
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    JVM相關(包括了各個版本的特性)對於剛剛接觸Java的人來說,JVM相關的知識不一定需要理解很深,對此裡面的概念有一些簡單的了解即可。不過對於一個有著3年以上Java經驗的資深開發者來說,不會JVM幾乎是不可接受的。JVM作為java運行的基礎,很難相信對於JVM一點都不了解的人可以把java語言吃得很透。
  • 編程基礎,結構(Struct)
    介紹1.1 介紹前面我們學習了編程的入門課程,了解的程式語言的基本語法,知道程式語言的基本要素。今天開始福哥開始給大家講編程的基礎知識,這個基礎知識是用來提高編程水平的知識,基礎知識每種程式語言的差異會比較大,所以福哥在講解某一種程式語言的某一特性的時候,會標明這種特性針對的是哪一種程式語言,只想學習某一種程式語言的童鞋可以有選擇的學習。
  • 尚學堂知識整理:java面向對象設計(二)
    Java面向對象編程有三個主要特點。下面示例顯示了Mobile類和屬性,在使用構造函數參數創建對象時設置一次對象信息。可以使用具有公共(public)訪問修飾符的getXXX()方法來訪問屬性。繼承面向對象程序的一個重要特性是繼承 - 創建一個新類時共享現有類的屬性和方法。
  • Java基礎教學之面向對象概述
    面向對象概述尹成課程資料及演示AAAjiaoyuwang面向對象是一種符合人類思維習慣的編程思想。現實生活中存在各種形態不同的事物,這些事物之間存在著各種各樣的聯繫。在程序中使用對象來映射現實中的事物,使用對象的關係來描述事物之間的聯繫,這種思想就是面向對象。
  • 淺析Python基礎知識之面向對象
    面向對象基礎閒談:    Python設計之初是一門面向對象語言,面向對象其實就是一種編程的思想,現在人們比較認可的解釋就是:封裝、繼承、多態即為面向對象。    封裝、繼承、多態確實是一種面向對象的體現,感覺這種解釋比較牽強,面向對象的思想比較抽象,暫時沒有更好的解釋。
  • java開發工程師 javascript面向對象的初識
    寫在前面:java作為一門世界級程式語言金字塔頂尖的語言。需要大量的練習、練習、練習來鞏固自己所獲得的知識。
  • C風格的面向對象編程
    面向對象編程(OOP),最早是C++、java等面向對象語言的一個核心特點,之後發展成了一種編程思想。面向對象編程的主要特點是,把屬性(數據)與方法(函數)按照類型綁定,並按照類型之間的關係分層分模塊設計,通過基類指針和虛函數實現多態。
  • 程序基礎:Java基礎知識一
    在上一篇文章中我們一起配置了Java的基本開發環境,今天我們就一起來創建一個小工程,並且老梁也和大家一起來回顧一部分Java的基礎知識,這些基礎知識有很多是通用的,就是這些知識基本上是不會因為程式語言的區別而有太大的變化,算是程序的基礎。
  • 手把手Java入門:繼承(面向對象篇)
    本篇轉自CSDN博客博主的JAVA入門基礎,讀者可以點擊原文連結進入博客,閱讀作者關於JAVA基礎的其他文章,希望對您有幫助。繼承的概念繼承是java面向對象編程中的基石,它允許創建分層次的類。繼承是子類繼承父類的特徵和行為,使得子類對象具有父類的實例域和方法,或者子類直接繼承父類的方法,使得子類具有父類相同的行為。生活中的繼承老鼠和貓都是動物類,老鼠和貓就是動物類的子類,而動物類就是父類,繼承的符合關係是:is-a.在java中實現繼承的關鍵字是extends,它可以聲明一個類是從另外一個類繼承而來的。
  • socket編程基礎,從了解到實現
    java生下來一開始就是為了計算機之間的通信,因此這篇文章也將開始介紹一下java使用socket進行計算機之間的通信,在上一篇文章中已經對網絡通信方面的基礎知識進行了總結,這篇文章將通過代碼案例來解釋說明。
  • Python 面向對象編程(上篇)
    我的施工計劃圖已完成專題包括:1我的施工計劃2數字專題3字符串專題4列表專題5流程控制專題6編程風格專題7函數使用專題今天是面向對象編程的上篇:基礎專題Python 面向對象編程面向對象程序設計思想,首先思考的不是程序執行流程,它的核心是抽象出一個對象,然後構思此對象包括的數據,以及操作數據的行為方法。
  • Python基礎知識——python面向對象的解釋型計算機程式語言
    python面向對象的解釋型計算機程式語言。,c語言,Java語言,Python語言,JavaScript語言高級計算機程式語言,分為:解釋型程式語言和編譯型程式語言Python(程序+翻譯器)翻譯軟體:一種稱為虛擬機,一種稱為解釋器c語言,c++語言,Go語言 屬於編譯型的寫好程序,通過編譯器把程序編程機器能執行的程序(含有機器碼),把程序給用戶即可。
  • 2020年最新Java學習路線圖,剛入門編程行業的小白必備知識清單!
    Java技術可謂博大精深,知識體系非常豐富並且也極其複雜,因此想要學習好java其實並不是一件非常輕鬆的事。當然,剛跨入編程行業的小白也無需擔心,2020年最新路線圖中的知識你學完一半基本就可以找個非常不錯的開發工作了,如果想要高薪,那就默默地全部學完吧!
  • 聊聊面向對象編程的幾個基本原則
    進行面向對象編程,有下面幾個原則:一. 面向抽象原則二. 開閉原則三. 多用組合少用繼承原則四. 高內聚-低耦合原則下面首先先介紹抽象類和接口,然後介紹面向抽象編程。3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。5.阿里Java高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!
  • 如何零基礎學好Java編程
    因為編程需要依靠邏輯思維,java是一門面向對象的程序語言,所以想要學習Java編程你一定要有心理準備。 認準一個方向就要不斷地堅持下去,三天打魚兩天曬網,見異思遷肯定是不行的,比如,學了一段時間,然後聽別人說,java不如C好找工作,於是就對java失去信心,其實這個沒必要,每門語言都沒每門語言的特色,沒有哪一門語言好也沒有哪門語言不好,只是各個語言的側重點不同而已。
  • Java四大名著是什麼?java程式設計師提高技能的經典編程書籍推薦
    java編程的小夥伴有參考。學任何語言,基本的語法知識不能少,首推,Java四大名著( java編程思想+Effective java中文版+Java核心技術卷12),下面來具體介紹以下包含Java四大名著在內的java程式設計師類圖書。
  • 低價好課:長盛不衰的java學習捷徑教學視頻環境搭建+基礎+面向對象+進階+界面設計+工程
    分享好課,有需要的加qq:59318556;長盛不衰的java學習捷徑教學視頻環境搭建+基礎+面向對象+進階+界面設計+工程高清完整網課資源
  • Java面向對象程序設計教與學
    ,主要內容包括抽象的技術,類與對象,面向對象編程的基本特徵,包括封裝性、繼承性和多態性。學完該課程,學生能使用面向對象程式語言和採用面向對象思維方法開發大中型應用程式。課程的總體目標是使學生能夠使用面向對象程式語言開發應用程式,也為學生今後學習Java高級編程、JavaWeb開發和移動開發打下堅實的基礎。該課程的特點是既有理論基礎,又需要大量實踐。因此在教學中應理論聯繫實際,加強實踐環節的教學。在研究和教學方法上應儘量採用基於問題的方法、案例式方法、討論式方法等多種教學方法。