創(chuàng)建句柄時(shí),我們希望它同一個(gè)新對象連接。通常用new關(guān)鍵字達(dá)到這一目的。new的意思是:“把我變成這些對象的一種新類型”。所以在上面的例子中,可以說: 它不僅指出“將我變成一...
創(chuàng)建句柄時(shí),我們希望它同一個(gè)新對象連接。通常用new關(guān)鍵字達(dá)到這一目的。new的意思是:“把我變成這些對象的一種新類型”。所以在上面的例子中,可以說: 它不僅指出“將我變成一...
每種編程語言都有自己的數(shù)據(jù)處理方式。有些時(shí)候,程序員必須時(shí)刻留意準(zhǔn)備處理的是什么類型。您曾利用一些特殊語法直接操作過對象,或處理過一些間接表示的對象嗎(C或C++里的指針)?...
Java特別象C++;由此很自然地會(huì)得出一個(gè)結(jié)論:C++似乎會(huì)被Java取代。但我對這個(gè)邏輯存有一些疑問。無論如何,C++仍有一些特性是Java沒有的。而且盡管已有大量保證,...
面向?qū)ο蟮姆妒绞撬伎汲绦蛟O(shè)計(jì)時(shí)一種新的、而且全然不同的方式,許多人最開始都會(huì)在如何構(gòu)造一個(gè)項(xiàng)目上皺起了眉頭。事實(shí)上,我們可以作出一個(gè)“好”的設(shè)計(jì),它能充分利用OOP提供的所有...
既然Java不過另一種類型的程序設(shè)計(jì)語言,大家可能會(huì)奇怪它為什么值得如此重視,為什么還有這么多的人認(rèn)為它是計(jì)算機(jī)程序設(shè)計(jì)的一個(gè)里程碑呢?如果您來自一個(gè)傳統(tǒng)的程序設(shè)計(jì)背景,那么...
從最古老的程序設(shè)計(jì)語言開始,錯(cuò)誤控制一直都是設(shè)計(jì)者們需要解決的一個(gè)大問題。由于很難設(shè)計(jì)出一套完美的錯(cuò)誤控制方案,許多語言干脆將問題簡單地忽略掉,將其轉(zhuǎn)嫁給庫設(shè)計(jì)人員。對大多數(shù)...
從技術(shù)角度說,OOP(面向?qū)ο蟪绦蛟O(shè)計(jì))只是涉及抽象的數(shù)據(jù)類型、繼承以及多形性,但另一些問題也可能顯得非常重要。本節(jié)將就這些問題進(jìn)行探討。 最重要的問題之一是對象的創(chuàng)建及破壞...
通常,繼承最終會(huì)以創(chuàng)建一系列類收場,所有類都建立在統(tǒng)一的接口基礎(chǔ)上。我們用一幅顛倒的樹形圖來闡明這一點(diǎn)(注釋⑤): ⑤:這兒采用了“統(tǒng)一記號法”,本書將主要采用這種方法。 對...
就其本身來說,對象的概念可為我們帶來極大的便利。它在概念上允許我們將各式各樣數(shù)據(jù)和功能封裝到一起。這樣便可恰當(dāng)表達(dá)“問題空間”的概念,不用刻意遵照基礎(chǔ)機(jī)器的表達(dá)方式。在程序設(shè)...
創(chuàng)建并測試好一個(gè)類后,它應(yīng)(從理想的角度)代表一個(gè)有用的代碼單位。但并不象許多人希望的那樣,這種重復(fù)使用的能力并不容易實(shí)現(xiàn);它要求較多的經(jīng)驗(yàn)以及洞察力,這樣才能設(shè)計(jì)出一個(gè)好的...
為方便后面的討論,讓我們先對這一領(lǐng)域的從業(yè)人員作一下分類。從根本上說,大致有兩方面的人員涉足面向?qū)ο蟮木幊蹋骸邦悇?chuàng)建者”(創(chuàng)建新數(shù)據(jù)類型的人)以及“客戶程序員”(在自己的應(yīng)用...
所有編程語言的最終目的都是提供一種“抽象”方法。一種較有爭議的說法是:解決問題的復(fù)雜程度直接取決于抽象的種類及質(zhì)量。這兒的“種類”是指準(zhǔn)備對什么進(jìn)行“抽象”?匯編語言是對基礎(chǔ)...
第一步: 1先確定一下.bash_profile是否存在. 2在mac終端輸入: test -e .bash_profile && echo "found" || echo ...
eclipse導(dǎo)入新的maven項(xiàng)目時(shí),pom.xml第一行報(bào)錯(cuò): org.apache.maven.archiver.MavenArchiver.getManifest(o...
前言 寫這篇文章的目的: 總結(jié)所學(xué)的 JVM 知識 幫助想了解 JVM 的朋友,知無不言,言無不盡 本篇文章將會(huì)介紹一下內(nèi)容: 什么是 JVM JVM 用來做什么事情 JVM...