面向對象思想是相對於C語言中的面向過程編程思想。我們用java做一件事,只用去new一個對象,並且去調用這個對象的方法,就可以實現我們所要的業務,而這個對象的具體方法做了什麼,具體過程,我們就不用去關注了!這就是面向對象編程思想。
B. java什麼是面向對象編程思想
面向對象思想是相對於C語言中的面向過程編程思想。我們用java做一件事,只用去new一個對象,並且去調用這個對象的方法,就可以實現我們所要的業務,而這個對象的具體方法做了什麼,具體過程,我們就不用去關注了!這就是面向對象編程思想。
C. java中面向對象的思想是什麼思想
一切皆對象!就是java面向對象的全部了 就是可以把任何東西都看做對象 比如 書 我們可以把書看做是對象,以抽象出java 類 Class Book//這是類 { private String bookName;//書名 它是書的一個屬性 private float pries;//價格 也是書的屬性,另外還可以有很多屬性 還可以有方法 public void setBookName(String bookName) { this.bookName=bookName;//給書名設置值的方法 } } 上面的代碼就是編寫了 一個書的類 把書抽象化了 而實例就是 某個類的具體話 比如上面書的類 Book book=new Book();//這就創建了個實例 我門可以給它的屬性設值 book.setBookName("java編程思想"); 總的來說 實例就 類的具體化,類是某些有相同點事物的統括,比如書,所有的書都有書名, 而實例就是 具體到某本書,比如 《java 編程思想》 是書的實例 new 就是創建一個實例 編程思想需要更多的經驗,和自己的感悟
D. 如何理解java的面向對象思想
比如說,我們要用程序來描述一個人。如果是以往的結構化編程,我們可能會這樣;
例如用C語言的話,可能會建立一個結構體:
struct Person{
姓名;
年齡;
等等;...
}
然後用定義的一些函數來描述他的行為。比如void walk(struct p); void eat(struct p);等等。
然後使用 walk(p) 來描述行走,使用eat(p)來描述吃飯等。
這樣不利於程序結構的維護。開發效率也不高。
但是用java面向對象方式,這一切就顯得自然了。我們建立一個類,表示人:
class Person{
姓名
性別
體重
身高等..(人類都有的屬性)
吃飯
睡覺 等行為(也就是人類都有的行為)
}
然後將類產生一個實例,就產生了一個'人'的對象。
Person xiao = new Person("小白",身高,體重...等參數);
如果要描述祖先後代的關系,很簡單。只要讓人類繼承自Animal即可。
class Animal{
......
}
class Person extends Animal{
.......
}
這樣動物有的屬性和行為,人不用定義也可以擁有,符合自然規律~哈哈
面向對象不是java特有的,只是一種思想,如果你願意,用結構化語言C語言也可以寫出面向對象的代碼。
E. Java面向對象的程序設計思想是什麼
面向對象的程序設計簡稱OOP是當今主流的程序設計范型,面向對象的程序是由對象組成的,每個對象包含對用戶公開的特定功能部分和隱藏的實現部分。萬物皆對象的概念,由具有共同特徵和行為的對象抽象出此類對象的模型稱之為「類」
F. JAVA的編程思想-面向對象,對象到底是什麼
在java中萬物兼對象。
在用java語言解決問題時,需要先把事務抽象成類。通過這些類可以實例化具體的對象,通過執行對象的方法來實現需求,解決問題。
如果有幫助到你,請點擊採納。
G. 通俗的解釋下java面向對象思想。
Java以前的編程語言都是面向過程,而Java主要是面向對象。在Java裡面:一個類,一個方法,一個變數也都是對象,即:JAVA中所有東西都是對象。有些對象可以直接去用(比如基本變數類型,或一些靜態的類、方法、變數),而有些對象你不可以直接去用,需要創建這個對象的實例(這樣我們既能實現對象的功能,又不會直接破壞對象的構造)。
這種東西只可意會,你學的時間長了就能領悟了,這需要點耐心和毅力。
H. java面向對象思想如何理解
從現實世界中客觀存在的事物(即對象)出發來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,並根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,並且沒有對應關系的其它概念來構造系統)。這可以使系統直接地映射問題域,保持問題域中事物及其相互關系的本來面貌。
它可以有不同層次的理解:
從世界觀的角度可以認為:面向對象的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的對象所組成的;不同對象之間的相互作用和通訊構成了完整的現實世界。因此,人們應當按照現實世界這個本來面貌來理解世界,直接通過對象及其相互關系來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。
從方法學的角度可以認為:面向對象的方法是面向對象的世界觀在開發方法中的直接運用。它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的對象來構造系統,而不是圍繞功能來構造系統。
從程序設計的角度來看,面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可以歸納為以下幾類:系統中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質劃分為類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一形式,也是計算的唯一形式;方法是消息的序列。
面向對象
面向對象(Object
Oriented,OO)是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object
Oriented
Analysis),面向對象的設計(OOD,Object
Oriented
Design)、以及我們經常說的面向對象的編程實現(OOP,Object
Oriented
Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
面向對象是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
I. java面向對象的思想
什麼是面向對象的設計思想?也許有不少初學者對這個概念還有許多不明白的地方,特別是這個處於新舊思想交替的時代,許多人剛剛學完現在看來是快要淘汰的只是面向過程的語言。他們的腦子還沒有脫離面向過程思想的束縛,抬頭卻發現,「面向對象」早已經流行開來,這個陌生的詞漫天飛舞。隨便拿起一本流行計算機技術書籍,那裡會沒有「面向對象」的字眼!於是心中便惶惑了:什麼叫「面向對象」?不感興趣者,一帶而過;有志於在這方面發展的,匆忙找到一本有關書籍來啃究竟什麼是「面向對象」。然而,要突破思想的束縛,說難也不難,說到要深刻認識卻也不容易。筆者在做了一些輕量級的工作後,頗以為有點心得,不怕貽笑大方,寫出已供廣大同行批評指正。 「對象(Object)」一詞,早在十九世紀就有現象學大師胡塞爾提出並定義。對象是世界中的物體在人腦中的映象,是人的意識之所以為意識的反映,是做為一種概念而存在的先念的東西,它還包括了人的意願。舉例說明吧。當我們認識到一種新的物體,它叫樹,於是在我們的意識當中就形成了樹的概念。這個概念會一直存在於我們的思維當中,並不會因為這棵樹被砍掉而消失。這個概念就是現實世界當中的物體在我們意識當中的映象。我們對它還可以有我們自己的意願,雖然我們並不需要付諸實現——只要在你的腦中想著把這棵樹砍掉做成桌子、凳子等——我們就把它叫做意向。於是,對象就是客觀世界中物體在人腦中的映象及人的意向。只要這個對象存在我們的思維意識當中,我們就可以籍此判斷同類的東西。譬如,當我們看到另外一棵樹是,並不會因為所見的第一棵樹不在了失去了供參照的模板而不認識這棵樹了。當我們接觸某些新事物時,我們的意識就會為這些事物確立一個對象。當然這個過程是怎麼形成的,那就不是我們所能討論的問題了。上面所說的對象研究的是一般意義上的問題,因而它可以外推到一切事物。我們經常所說的「對象」,一班指的是解決信息領域內所遇到問題的方法。特別是應用軟體技術來決問題的方法。如我們經常碰到的面向對象的編程(Object-Oriented Programming)、面向對象的分析(Object-Oriented Analysis)、面向對象的設計(Object-Oriented Design)等。應用前面所介紹的關於對象的概念,可以對這些問題做進一步的分析。在面對較復雜的系統,我們可以將它作為一個對象來進行分析。一個系統(解決某個問題的全套解決方案)作為一個對象,可以由多個部分組成。同樣,這個對象也可以由多個對象組成。對於同類的事物,可以由一個對象來表示。這樣做的益處是顯而易見的,它靈活而高效,可以大大減輕設計人員的工作量,簡化實際的模型。舉一個例子。在關系型資料庫的設計當中,我們可以把一個元組當作對象,給它定義一組操作方法。這些方法將適用於所有元組,從而我們不必在更大的范圍內去細致的考慮不同的元組(如判斷一個元素是否合法):因為它們有一組公共的面向本身的方法,它們「自己」可以「解決」自己的問題。更上一層的對象可以是一個表、視圖等。表對象在元組對象的基礎上又有它們自己的方法,如增加、刪除等。從這個層面上講,它也只需要做「自己」的事情,因為有元組對象的支持,它無須去考慮像元素是否合法這類的事情。甚至,有時為了滿足我們還可以將元素或表群當作時對象並定義它們自己的方法。這樣,更能顯示面向對象的優勢。 上面所討論的可以說是面向對象的分析方法。在具體的設計過程當中,還應該採用適當的方式。因為面向對象的思想固然很先進,如果做得不好的話,同樣不能達到預期的效果。這主要表現在處理對象與對象的關繫上沒有做好,對象與對象的層次不分明。如上面所舉得關系型資料庫得例子,如果在元組層面上得對象過多得考慮一個表對象得因素,或一個表層面上對象過多地考慮一個元組對象的因素,甚至去考慮元素層面上的因素,這些都不是好的面向對象的設計方法。這一點,在語言實現方面,Java比C++更有優勢,因為它不允許多重繼承,從而使對象之間的關系更明確。誰也不會否認C++的功能更強大,但是它也要由次付出巨大代價——當現在代碼庫發展到一定程度、一定規模時,個對象之間的層次關系將變得異常復雜,給後繼使用者得學習、理解帶來很大的困難,應用上很難把握。另外,雖然C++具備面向對象的處理能力,但它還是保留了很多面向過程的東西。用C++完全可以不用面向對象的思想來進行程序設計,當然人們不會這樣去做——除了那些只是把C++看成是C擴充的初學者,這就為以後的發展埋下了隱患。在者一方面,Java的限制更多一點。就者一點還遠遠不夠。搞開發的是人,開發方法是由人決定的。要應用面向對象的方法開發出優秀的軟體,必須要求開發人員具有良好的面向對象的思想。好的工程師可以利用適當的工具開發出優秀的軟體——而不在乎他所使用的語言工具——Java、C++、Object Pascal、Ada等。
J. 為什麼學習Java編程Java編程好嗎
為什麼學習Java編程?Java編程好嗎?Java是一種為多個平台生成軟體的編程語言。當程序員編寫Java應用程序時,編譯的代碼(稱為位元組碼)可在大多數操作系統(OS)上運行,包括Windows,Linux和MacOS。Java從C和C++編程語言中衍生出大部分語法。下面詳細的介紹一下Java編程
一、為什麼學習Java編程?Java編程好嗎?Java具備完善的生態圈
過去的十多年,Java基本每年都是全世界使用人數第一的語言。全世界數百萬的IT企業構建了龐大的Java生態圈,大量的軟體基於Java開發。Java也被譽為「計算機界的英語」。JAVA的應用范圍涉及所有行業、絕大多數IT企業,形成了龐大的生態圈。
Java核心思想:面向對象編程,繼承,高兼容(代碼移植性強),開源,避免重復造輪子(使用Mybatis,Spring,Redis等技術只需要將jar包依賴添加到項目中即可,jar包內就是技術核心代碼,而這些框架都是專業技術團隊開發出來的,這為大多數項目開發省去很多精力,拿來即用)。
現在這個時代不僅是行業的巨大機會,同時也是Java發展的時機。雖然Java的反對聲音一直都有,但是並沒有阻止Java前進的腳步,相反它會為Java的發展提供前進的方向,我們有理由相信,即使再過20年,Java也不會被打倒。
二、為什麼學習Java編程?Java編程好嗎?Java良好的就業與發展前景
根據IDC的統計數字,在所有軟體開發類人才的需求中,對JAVA工程師的需求達到全部需求量的60%~70%。同時,JAVA工程師的薪水相對較高。通常來說,具有3~5年開發經驗的工程師,擁有年薪10萬元是很正常的一個薪酬水平。
Java的持續完善在Java任務控制套件和Java高級管理控制台的雙重保障下,Java進入到了使用的新紀元,而同樣進入這個紀元的,還有雲計算和物聯網。
作為最常用的雲計算底層開發語言,Java的安全性、開放性、穩定性和跨平台性與雲計算高可靠、高拓展的優勢相得益彰。
所以就算真的有什麼不測風雲,Java也是一門非常好的鋪墊語言。因為編程思想,設計模是不會被淘汰的!Java的生態圈決定了它在未來10年,甚至20年都會是最熱門的語言之一。而且退一萬步講,就算Java瀕臨淘汰,你在精通Java的情況下,學習其他語言也是觸類旁通的。
在未來的幾年,Java工程師人才的需求還在不斷的加大,由於人才的緊缺,這一門職業相對於其它專業薪資待遇還是不錯的,JAVA工程師待遇是與你的工作經驗直接掛勾的,當你有了豐富的經驗以後,你在這個社會上就比較搶手了,而且企業所出的薪酬也是相當高的,到時只有你選擇他們了。
三、為什麼學習Java編程?Java編程好嗎?Java語言和其它開發語言比較
各路大神詬病Java這門語言,強類型,語法結構比較嚴謹,但是對於初學者來說,Java還是非常友好的,相對簡單學習周期不會太長,很多人學過Java之後,再學習其他語言感覺非常輕松。是一門非常好的鋪墊語言。
在TIOBE編程語言排行榜中,Java長期位居榜首,是2015年的年度編程語言。通過GoogleTrends,可以看到Java的搜索量遠高於緊隨其後的幾門語言。
Java通過JVM實現了「一次編寫,到處運行」的特性,由JVM屏蔽掉了不同平台的差異性,並創建了位元組碼語言來作為Java代碼的「匯編語言」,JVM讀取位元組碼文件、解析位元組碼文件來運行;
JVM提供了垃圾收集器,大部分情況下,程序員不需要自己擔心內存的分配和回收;
Java在企業級開發領域具備殺手級框架Spring全家桶,讓Java在企業服務領域幾無敵手;
Java在客戶端開發領域具備殺手級應用場景——Android開發;
Java開發的生態非常豐富和完整,有無數成熟可靠的開源軟體;
Java是一門面向對象的靜態類型語言,面向對象的特性有助於Java構建大型的、復雜的應用,靜態類型語言使得Java在運行時的速度遠勝於解釋性語言,同時使得Java應用在編譯期可以發現很多問題,是類型安全的;
JVM虛擬機:按照虛擬化裡面的概念,JVM虛擬機屬於宿主型虛擬機,作為一個虛擬機,最核心的模塊是:運行時內存管理、類載入、位元組碼系統、執行引擎、垃圾收集器等等;
JRE(Java運行時環境):只有JVM,對於普通的Java開發者來說難度太高了,因此Hotspot的開發者還為普通開發者提供了對應的JavaSEAPI和其他開發者需要的類庫,這些API、類庫和JVM共同構成了Java運行時環境。
Java語言:JVM之上不僅僅有Java語言長盛不衰,還培育出了豐富的語言生態,例如Scala、Groovy、Kotlin、等新生代的語言。
JDK:JVM、JRE,在加上輔助工具、Java語言,共同構成了JDK。
四、為什麼學習Java編程?Java編程好嗎?Java語言開發與應用場景
80%以上的高端企業級應用都使用JAVA平台(電信、銀行等)。JAVA是成熟的產品,已經有10年的歷史。Amazon、Google、eBay、淘寶、京東、阿里和其它的大型電子商務品牌都在使用Java來後台處理。這么多企業都青睞Java,主要原因是Java的可擴展性好,可以處理更多的客戶數據。
從Java語言的應用場景和生態看,分為如下幾點:
企業級開發(J2EE):SSM框架、SpringBoot、SpringCloud、JPA、緩存、批量處理、定時任務等等;
客戶端開發(J2ME):安卓開發
大數據開發:Spark、Hadoop、HBase、ElasticSearch等。
微服務是一個新興的軟體架構,就是把一個大型的單個應用程序和服務拆分為數十個的支持微服務。一個微服務的策略可以讓工作變得更為簡便,它可擴展單個組件而不是整個的應用程序堆棧,從而滿足服務等級協議。而Java技術具有卓越的通用性、高效性、平台移植性和安全性。
微服務與語言兩者間並沒有什麼必然的關系。微服務的好處就是可以帶來微服務的異構性,用所有語言都可以寫出合格的微服務。沒有最好的語言,只有最合適的使用場景。
在我看來,微服務最應該關注的不是開發,也不是運維,而是如何設計微服務,業務上的設計遠比代碼上的實現來得重要。此時領域驅動設計就顯得如此重要,先從領域模型入手,設計合理的服務,然後再來談微服務落地。
微服務的落地需要考慮很多問題,比如服務的實現、如何開發、如何測試、服務的運維、可運維和高可用。
進入微服務的落地環節之後,就要和語言有關了。比方說微服務該如何測試?微服務的服務提供方需要優雅地調用自己,而服務消費方要模擬提供方的反應。
完整的生態環境能幫助你快速地將微服務落地。
Java稱霸的領域廣泛,大型企業級應用,主要使用JAVAEE,比如大型企業管理系統,最典型的就是:
有關通信及網路的大型企業:移動、聯通、電信、網通主要的信息化都是Java;
有關金融行的大型企業,所有的銀行、證券公司,比如工商銀行、建設銀行;大型管理系統,如:供應鏈、客戶管理系統??;
電子政務,主要使用JAVAEE,相關的政府部門絕大多數的信息化系統是JAVA開發的;
游戲,很多手機游戲都是用Java開發的;
嵌入式設備及消費類電子產品,主要用現在很流行的Android,無線手持設備、通信終端、醫療設備、信息家電(如數字電視、機頂盒、電冰箱)、汽車電子設備等是比較熱門的Java應用領域。
Java無論是應用還是將來就業的薪資以及就業崗位的廣泛度來分析,Java都是不錯的選擇,這可能也是為什麼這么多人喜歡Java想要學習Java成為Java開發工程師的原因所在。