java

Java 的開發總要通過立項——設計——編碼——測試等諸多過程,下面先來介紹一下Java 開發中的這些開發經驗。java

  1. 立項

這個時候須要作的是需求的收集,開發人員須要重視需求。機會老是傾向有準備的人,成功天然也是這樣。開發人員不但要作好需求分析,還要作出精確的估計。由於編碼工做保質保量的按時完成須要多方的準備工做,技術難點須要進行充分的技術預言,不熟悉的依賴平臺或類庫要進行熟悉。編程

  1. 設計

設計的時候要善用圖,由於經過圖能夠將模塊結構以及流程等很難用用文字描述的內容清晰的表達出來。安全

此外,設計的時候要耐得住詳細設計過程當中的繁瑣、痛苦,要以快樂的心態面對。ide

  1. 編碼

編碼工做須要保持細緻、認真、嚴謹的工做的工做態度,作出的編碼不能倉促、草率,要考慮周到。在邏輯、風格、簡單有效等方面拿出你的最好,既能更好爲公司實現價值,同時更有利本身在技能,崗位的進步。工具

  1. 測試

編寫的代碼不能由於一時的疏漏而形成後期工做麻煩,開發人員都要將本身編寫的代碼詳細的測試一下,驗證無誤再提交,這樣才能成爲一個優秀的開發人員。學習

  1. 總結

在項目的整個流程過程當中,要善於及時的溝通。遇到問題要及時找到解決的辦法,這個時候能夠和同事一塊兒解決問題,學習他們的長處和優勢,將其變爲己有。開發工具

開發經驗及技巧問題彙總測試

接下來咱們來總結一些 Java 開發技巧的問題以供你們參考。this

  1. 什麼是 JRE/J2RE?

答:J2RE 是 Java2RuntimeEnvironment,即 Java 運行環境,有時簡稱 JRE。若是你只須要運行 Java 程序或 Applet,下載並安裝它便可。若是你要自行開發 Java 軟件,請下載 JDK。在 JDK 中附帶有 JRE。注意因爲 Microsoft 對 Java 的支持不徹底,請不要使用 IE 自帶的虛擬機來運行 Applet,務必安裝一個 JRE 或 JDK。編碼

  1. 什麼是 J2SE/J2EE/J2ME?

答:J2SE 就是通常的 Java。J2ME 是針對嵌入式設備的,好比支持 Java 的手機,它有本身的 JRE 和 SDK。J2EE 是一組用於企業級程序開發的規範和類庫,它使用 J2SE 的 JRE。

  1. 怎麼作能夠把 java 編譯成 exe 文件?

答:JDK 只能將 java 源文件編譯爲 class 文件。class 文件是一種跨平臺的字節碼,必須依賴平臺相關的 JRE 來運行。Java 以此來實現跨平臺性。有些開發工具能夠將 java 文件編譯爲 exe 文件。做者反對這種作法,由於這樣就取消了跨平臺性。若是你確信你的軟件只在Windows 平臺上運行,你能夠考慮使用 C++/C#來編程。

  1. 類名首字母應該大寫。

字段、方法以及對象(句柄)的首字母應小寫。對於全部標識符,其中包含的全部單詞都應緊靠在一塊兒,並且大寫中間單詞的首字母。

例如:

ThisIsAClassName
thisIsMethodOrFieldName
若在定義中出現了常數初始化字符,則大寫 staticfinal 基本類型標識符中的全部字母。這樣即可標誌出它們屬於編譯期的常數。

Java 包(Package)屬於一種特殊狀況:它們全都是小寫字母,即使中間的單詞亦是如此。對於域名擴展名稱,如 com,org,net 或者 edu 等,所有都應小寫(這也是 Java1.1 和 Java1.2的區別之一)。

  1. package 是什麼意思?怎麼用?

答:爲了惟一標識每一個類並分組,java 使用了 package 的概念。每一個類都有一個全名,例如 String 的全名是 java.lang.String,其中 java.lang 是包名,String 是短名。按照 java 命名慣例,包名是所有小寫的,而類名的第一個字母是大寫的。這樣,若是你自行定義了一樣名字的類 String,你能夠把它放在 mypackage 中,經過使用全名 mypackage.String 和java.lang.String 來區分這兩個類。同時,將邏輯上相關的類放在同一個包中,可使程序結構更爲清楚。爲了定義包,你要作的就是在 java 文件開頭加一行「packagemypackage;」。注意包沒有嵌套或包含關係,mypackage 包和 mypackage.mysubpackage 包對 JRE 來講是並列的兩個包(雖然開發者可能暗示包含關係)。

  1. 沒有聲明任何 package 會怎麼樣?

答:你的類被認爲放在默認包中,這時全名和短名是一致的。

  1. 對於本身建立的每個類,都考慮置入一個 main(),其中包含了用於測試那個類的代碼。爲使用一個項目中的類,咱們不必刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可做爲如何使用類的一個示例使用。

  2. 使類儘量短小精悍,並且只解決一個特定的問題。

下面是對類設計的一些建議。

⑴ 一個複雜的開關語句:考慮採用"多形"機制。

⑵ 數量衆多的方法涉及到類型差異極大的操做:考慮用幾個類來分別實現。

⑶ 許多成員變量在特徵上有很大的差異:考慮使用幾個類。

  1. 在 javaxxx 的時候顯示「Exceptioninthread"main",java.lang.NoSuchMethodError:main」。

答:首先,在你的程序中每一個 java 文件有且只能有一個 public 類,這個類的類名必須和文件名的大小寫徹底同樣。其次,在你要運行的類中有且只能有一個 publicstaticvoidmain (String[]args)方法,這個方法就是你的主程序。

  1. java 裏面怎麼定義宏?

答:java 不支持宏,由於宏代換不能保證類型安全。若是你須要定義常量,能夠將它定義爲某個類的 staticfinal 成員。

  1. 怎麼判斷要讀的文件已經到了盡頭?

答:在 Reader 的 read 方法中明確說明返回-1 表示流的結尾。

  1. 用繼承及方法覆蓋來表示行爲間的差別,而用字段表示狀態間的區別。

一個很是極端的例子是經過對不一樣類的繼承來表示顏色,這是絕對應該避免的:應直接使用一個"顏色"字段。

  1. 閱讀代碼的時間比寫代碼的時間多得多,請多閱讀代碼。思路清晰的設計可得到易於理解的程序,但註釋、細緻的解釋以及一些示例每每具備不可估量的價值。不管對你本身,仍是對後來的人,它們都是至關重要的。如對此仍有懷疑,那麼請試想本身試圖從聯機 Java 文檔裏找出有用信息時碰到的挫折,這樣或許能將你說服。

  2. throw 和 throws 有什麼不一樣?

答:throws 用於方法聲明中,聲明一個方法會拋出哪些異常。而 throw 是在方法體中實際執行拋出異常的動做。若是你在方法中 throw 一個異常,卻沒有在方法聲明中聲明之,編譯器會報錯。注意 Error 和 RuntimeException 的子類是例外,無需特別聲明。

  1. extends 和 implements 有什麼不一樣?

答:對於 class 而言,extends 用於(單)繼承一個類(class),而 implements 用於實現一個接口(interface)。interface 的引入是爲了部分地提供多繼承的功能。在 interface 中只需聲明方法頭,而將方法體留給實現的 class 來作。這些實現的 class 的實例徹底能夠看成interface 的實例來對待。在 interface 之間也能夠聲明爲 extends(多繼承)的關係。注意一個interface 能夠 extends 多個其餘 interface。

  1. 良好的設計能帶來最大的回報。

簡言之,對於一個特定的問題,一般會花較長的時間才能找到一種最恰當的解決方案。但一旦找到了正確的方法,之後的工做就輕鬆多了,不再用經歷數小時、數天或者數月的痛苦掙扎。咱們的努力工做會帶來最大的回報(甚至無可估量)。並且因爲本身傾注了大量心血,最終得到一個出色的設計方案,成功的快感也是使人心動的。堅持抵制草草完工的誘惑——那樣作每每得不償失。

  1. 應將方法設計成簡要的、功能性單元,用它描述和實現一個不連續的類接口部分。理想狀況下,方法應簡明扼要。若長度很大,可考慮經過某種方式將其分割成較短的幾個方法。這樣作也便於類內代碼的重複使用(有些時候,方法必須很是大,但它們仍應只作一樣的一件事情)。

  2. java 裏面能不能重載操做符?

答:不能。String 的+號是惟一一個內置的重載操做符。你能夠經過定義接口和方法來實現相似功能。

  1. 在子類的構造方法中如何調用父類的構造方法?

答:在子類構造方法的第一行調用 super(...)便可。

  1. 儘可能使用 interfaces,不要使用 abstract 類。

若已知某樣東西準備成爲一個基礎類,那麼第一個選擇應是將其變成一個 interface(接口)。只有在不得不使用方法定義或者成員變量的時候,才須要將其變成一個 abstract(抽象)類。接口主要描述了客戶但願作什麼事情,而一個類則致力於(或容許)具體的實施細節。

相關文章
相關標籤/搜索