Java 層次結構
Java是一種解釋性的語言,但不能直接對源代碼進行解釋,還需要對源代碼進行初步的編譯。源代碼編譯后的結果是字節碼,不能在操作系統上直接運行,這兩者之間需要有一個解釋器層面,通過這一層解釋器,就可以把JAVA的字節碼翻譯成本機代碼,然后再執行。
通過Java的解釋器,保證了java程序的可移植性。Java解釋器隨不同平臺而變化,平臺不同,但是提供的共同的Java編程接口,保證可移植性。
Java 開發流程
Java語言的源代碼以字符的方式存放在*.java的文件中,源代碼不能執行,必須經過java編譯器進行編譯,其編譯結果稱為字節碼(Byte Code),存放在*.class的文件中,這些字節碼可以在帶有Java編譯器的平臺上運行。有些流浪器還支持Java語言,因此還可以 java嵌入到HTML語言中,并在瀏覽器中執行。如Hotjava瀏覽器。
Java 開發環境
SUN公司為我們提供了一套Java開發工具(JDK),包括Java編譯器、解釋器、調試器等,使用它可以開發各種java應用。
Java編譯器:java編譯器是用來將Java源文件編譯成可執行的Java字節碼(bytecode)。*.java-->*.class。源文件中的每個類在編譯后都將產生一個class文件,這就意味著很多情況下,一個java源代碼文件可能編譯生成多個class文件。
Java解釋器:對編譯生成的bytecode格式的可執行程序的運行提供支持,java解釋器使用環境變量CLASSPATH來確定用戶定義的類所在的目錄,CLASSPATH包含一些以分號隔開的用戶定義的java類的系統路徑,通常,java工具使用CLASSPATH來找到用戶定義的類。
Java技術的分類
(1)J2SE:Java 2 Standard Edition
支持所有JAVA標準規范中所定義的核心類函數庫和所有的JAVA基本類別。J2SE定位在客戶端程序的應用上。
(2)J2EE:Java 2 Enterprise Edition
在J2SE的基礎上增加了企業內部擴展類函數庫的支持,比如支持Servlet/JSP的javax.servletr.*和EJB的 javax.ejb.*的類函數庫。J2EE定位在服務器端程序的應用上。
(3)J2ME:Java 2 Micro Edition
只支持JAVA標準規范中所定義的核心類函數庫的子集。定位于嵌入式系統的應用上。
Java 程序分類
java程序可以分為兩類:Applet與Stand-alone;
Applet:是在編譯后通過Applet View或支持Java的WWW瀏覽器來運行Java程序;
Stand-alone:程序是在操作系統環境下可直接運行的java程序,與傳統的C/C++非常類似。
J2SE分為:
Java Application
Java Applet
【Stand-alone就是在開發環境上編好代碼之后,直接點擊運行,就可以在開發環境上看到結果】
【Java Applet:通過瀏覽器訪問,就是可以通過在開發環境上通過軟件運行Tomcat, 相當于建立一個服務器,就可以通過網頁進行訪問這個JAVA工程】
【Java Application】
Java 編程基礎
Java是面向對象編程的一門語言; 對象是包含了數據data(屬性Property)與操作(Method)的軟件模型;
對象是對客觀的抽象映射。
消息是對象間交互和傳送信息的載體,對象是面向對象的軟件的基本模型。
消息包含的要素: 1.消息要作用的對象 2.消息要完成的操作名 3.操作所需的參數。
android應用程序的入口
android應用程序中,并沒有像c++和java這樣有main函數來作為應用程序的入口.android應用程序提供的是入口Activity,而非入口函數. 在eclipse中創建一個android應用程序的時候,默認會創建一個Activity.這個Activity實際上就是入口Activity了.從哪里定義它是Activity呢?AndroidManifest.xml文件中定義了整個android應用所包含的Activity.默認生成的Activity的定義為:
<activity android: android:label="@string/app_name">
<intent-filter>
<action android: />
<category android: />
</intent-filter>
</activity>
android應用程序實際上是由多個Activity按照一定的次序拼裝起來的,只不過拼裝的過程中,后臺傳遞了一些數據,使得各個Activity之間能比較好的銜接起來。
action節點中的android.intent.action.MAIN表明它所在的Activity是整個應用程序的入口點.而category中的android.intent.category.LAUNCHER意思是把這個Activityg歸屬到加載器類,即把這個Activity標注為自動會加載和啟動的Activity,這樣程序啟動時候就先加載這個Activity了.
面向對象編程的3個特性
(1)封裝性:將數據和對數據的操作封裝到一起。
(2)繼承性:子類可以繼承父類的屬性和功能,同時又可以增添自己的屬性和功能。
(3)多態性:即多種形態。有2中意義的多態:一種是操作名稱的多態,即方法的重載。另一種是和繼承有關的多態,是指統一操作被不同類型的對象調用時可能產生不同的行為,即運行時刻多態。方法重載,運行時刻多態。
Java 程序結構
java的程序在結構上看,兩部分: 1.引入庫聲明區 2.類的定義區
可以引入一個具體的類名或者是相關的類庫名。
Java系統提供的類庫也稱為java API,它是系統提供的已實現的標準類的集合,按其用途被劃分為若干個不同的包。J2SE中將java API主要分成3個包:
(1)java核心包:java.*:包括:applet、awt、beans、io、lang、math、net、sql、text、util等。
(2)java擴展的包:javax.*:包括:swing、security、rmi等。
(3)組織的包:org.*:主要用于CORBA和XML處理。
除了引入庫聲明以外,所以的變量、語句、操作都在類中。
在類定義中,有變量和操作函數兩個部分。在類的定義中,有兩個與類同名的操作函數--構造函數(一個不帶參數、一個帶參數:可以適應不同的場合):完成初始化工作,如變量賦值等。 析構函數:在對象被刪除時調用。析構函數可以沒有,但是養成良好的編程習慣,應該加上。
Java 類定義
|