




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java面向對象編程-小朋友Java第一章Java開放工具:JDK Myeclipse Jcreator EditPlusMJava JDK安裝配置JDK: Java開發工具包(J2SE Software Development Kit)的縮寫JDK安裝文件說明:bin:Java常用開發工具目錄JRE: 是Java運行環境 (Java Runtime Enviroment) 的縮寫demo: Java開發的示范例子include: Java提供用于c/c+調用的.h文件sample: Java案例lib: Java類庫目錄首先安裝JDK。一路NEXT就行了Windows環境變量設置:我的電腦
2、右鍵屬性。高級。環境變量。主要配置兩個目錄:BIN文件夾。和lib文件夾。以下為JDK,BIN文件環境配置PATH:我的電腦 右鍵屬性。高級。環境變量。系統環境變量。PATH。編輯。在變量值最后加一個;(英文狀態下輸入的),然后在;后面寫上bin文件夾的路徑。例:;D:程序安裝系統工具編程設計jdkbin如圖:BIN設置好了然后再設置LIB:新建-變量值:.;+路徑設置好了環境變量也就OK了查看是否設置正確:開始運行cmdpath開始運行cmdset classpath看見路徑OK了。環境變量也就配置完鳥。下面開始寫簡單的Java程序:新建記事本;1 /這是一行注釋2 public class
3、 Test 34 public static void main(String args) 5 System.out.println("Welcome to Java Programming!");6 /main方法結束78 /類結束public class Test public static void main(String args) System.out.println("Hello World!");*保存為: Test.java行1:注釋:用來說明程序的作用行2:開始聲明一個類,類名為Welcome , class是JAVA的關鍵字,用來定義
4、類,public為訪問說明。在這里聲明了一個類,類的名字為Welcome.行3,7,9:空行,用來增加程序的可讀性行4:是JAVA應用程序必須包含的方法,被稱為入口方法:程序運行時從這里開始執行,其形式必須是:public static void main(String args) 或者 static public void main(String args)上面的語句里,只能修改 args這個字符串數組的名字。static 表示直接能夠加載該方法運行。void 是方法的返回類型 ,每個方法必須有返回類型(除了構造方法)。main是方法的名字,是程序的入口調用的方法。String 是方法的參數
5、,必須是String 數組類型的 。行5:System.out.println("Welcome to Java Programming!");/*輸出字符串,雙引號中的字符串會在控制臺輸出。*/Bin文件夾下JAVAC是編譯器。JAVA是執行把Test.JAVA文件復制到C盤。然后:開始運行CMDcd:c:-javac Test.java (在CMD下輸入文件名的時候可以按TAB鍵自動補全文件名)開始編譯,并在C盤目錄下生成Test.class文件-java Test顯示結果 Heelo World!OK,現在已經編譯了一個簡單的JAVA程序了簡單看下流程:第二章:變量與
6、函數1;變量;變量是Java 程序的一個基本存儲單元。變量由一個標識符,類型及一個可選初始值的組合定義。此外,所有的變量都有一個作用域,定義變量的可見性,生存期。接下來討論變量的這些元素。在Java 中,所有的變量必須先聲明再使用定義變量:n byte age; (存放某人的年齡)n short number; (存放某大學人數)n char gender; (存放某人性別)n double balance; (存放某帳戶的余額)n boolean flag; (存放布爾值)變量一經定義,系統將為其分配一定長度的內存存儲空間,在程序中使用到該變量時,就需要在對應的內存中進行
7、讀數據或寫數據,通常稱這種操作為對變量的訪問。基本數據類型:數據類型名稱數據類型標識占據存儲空間取值范圍布爾型boolean1bittrue(非0),或false(0)整型byte8bits(1Byte)-128 +127short16bits(2Bytes)-32768 +32767int32bits(4Bytes)-21億 +21億long64bits(8Bytes)-9.2×1018 +9.2×1018浮點型float32bits(4Bytes)7位精度double64bits(8Bytes)15位精度字符型char16bits(2Bytes)Unicode字符*n
8、賦值語句的一般形式為:variable = expression;n 在這里“=”不是數學中的等號,而是賦值運算符,其功能是將右邊表達式的值賦(即傳遞或存入)給左邊的變量,例如:n int i,j;n char c;n i = 100;n c = an j = i +100;n i = j * 10;實例:class Testpublic static void main(String args) int age=18;System.out.println("我的年齡: "+age);public class Test1 private int age;private St
9、ring name;public void setAge(int a)age=a;public void setName(String n)name=n;public void tell()System.out.println("我是: "+name);public void showAge()System.out.println("我的年齡是:"+age);*復合賦值語句。public class Test public static void main(String args) int i=0, j=30 , k = 10; i += k; /相當于
10、 i = i+k; j -= k; /相當于j=j-k; i *= k; /相當于i=i*k; j /= k; /相當于j=j/k; k %=i+j; /相當于k=k%(i+j); System.out.println("i="+i); System.out.println("j="+j);n("k="+k); *第三章:Java程序控制單分支條件語句n 單分支條件語句的一般格式是:*nif (表達式) 語句;* if (表達式1) 語句1; else if (布爾表達式2) 語句2; else 語句3; *if (表達式1) if
11、(表達式2) 語句1; else 語句2;else 語句3;*if (表達式1) if (表達式2) 語句1;*do-while循環:Do()While (conditiont)*switch語句switch(表達式)case 判斷值1:語句1;case 判斷值2:語句2;.case 判斷值n:語句n;default:語句n+1;*實例:IF:public class Test public static void main(String args) byte age=20; if (age>=18) System.out.println("合法"); if (age
12、<18) System.out.println("不合法"); *:switch*switch(day) case 0:System.out.println(day +"表示是星期日");break; case 1:System.out.println(day +"表示是星期一");break;case 2:System.out.println(day +"表示是星期二");break;case 3:System.out.println(day +"表示是星期三");break;case
13、4:System.out.println(day +"表示是星期四");break;case 5:System.out.println(day +"表示是星期五");break;case 6:System.out.println(day +"表示是星期六");break;default:System.out.println(day+"是無效數!") ; 第四-五章:面向對象 狀態:變量對象 OOP的對象 行為 :方法一:類1:類-à對象格式:class test/body2:聲明:注意事項:Public時
14、,類文件名必須和JAVA文件名一致。publicabstract | final class TestName extends superclassNameimplenments interfaceNameListKeywords:Public:訪問權限-公共可調用。Abstracr:對父類修飾詞,聲明為抽象類時不可實例化;Final:子類修飾詞當被聲明問最終類時,它就不可以再有子類;3:構成:成員變量:由類聲明定義的變量,用于描述類創建的對象的屬性;構成方法:類體由方法構成。可分為構造方法和普通方法二:對象類與對象的關系: 類給出了屬于該類的全部對象的抽象定義,而對象則是符合這種定義的一個實
15、體。類與對象之間的關系就如同一個模具與用這個模具鑄造出來的鑄件之間的關系一樣。也就是說,我們可以把類與對象之間的關系看成是抽象與具體的關系。在面向對象的程序設計中,對象被稱作類的一個實例(instance),而類是對象的模板(temp1ate)。類是多個實例的綜合抽象,而實例又是類的個體實物。如圖4.1所示為類與對象的關系。1:對象的創建:聲明;實例化;初始化2:對象的聲明:類名 對象名字;Class TestInt a;String name;Test beiju; Test為類名,beiju為對象名字3:實例化和初始化:用new實例化一個對象,會用時調用類的構造方法對它進行初始化,如果沒有
16、寫構造方法,系統會自動調用默認的構造方法。默認構造方法不帶參數Public Beiju()Public Beiju(int i) /*構造*/a=i;三:對象的使用1:使用對象的變量.運算符(實現對自己變量的訪問)格式:Test.beiju2:調用方法;對象名.方法名實例:Test.javapackage com.Java.ok.ui;/* * 類,包含屬性和方法*/public class Test String name;char sex;int age;float height;/* * 方法 */public void show()System.out.println("我的
17、姓名: "+name);System.out.println("我的年齡: "+age);System.out.println("我的身高: "+height);System.out.println("我的性別: "+sex);Test1.javapackage com.Java.ok.ui;public class Test1 /* * 測試類 */public static void main(String args) Test tx=new Test();tx.age=23;="beiju&qu
18、ot;tx.height=175;tx.sex='男'tx.show();四:屬性static修飾的靜態數據成員 用static修飾符修飾的數據成員是不屬于任何一個類的具體對象,而是屬于類的靜態數據成員。其特點如下: (1) 它被保存在類的內存區的公共存儲單元中,而不是保存在某個對象的內存區中。因此,一個類的任何對象訪問它時,存取到的都是相同的數值。 (2) 可以通過類名加點操作符訪問它。 (3) static類數據成員仍屬于類的作用域,還可以使用public static、 private static等進行修飾。修飾符不同,可訪問的層次也不同。 類變量:static和實例變
19、量 對象可對final就行操作。不可更改。Class StudentInt a; /實例變量Douvble b; /實例變量Static int c; /類變量package com.Java.java.ui;public class sa private void manin() Java1 a1=new Java1();Java1 a2=new Java1();a1.a=10;a1.b=52;System.out.println("Test"+a1.a+"and"+a1.b);Other:1:方法申明和方法體int getTest() /返回類型in
20、treturn 1;Void setInfo(String name,int age).2:構造方法對象的初始化與構造方法:(1) 構造方法的方法名與類名相同。 (2) 構造方法是類的方法,它能夠簡化對象數據成員的初始化操作。 (3) 不能對構造方法指定類型,它有隱含的返回值,該值由系統內部使用。 (4) 構造方法一般不能由編程人員顯式地直接調用,在創建一個類的對象的同時,系統會自動調用該類的構造方法將新對象初始化。 (5) 構造方法可以重載,即可定義多個具有不同參數的構造方法。 對象不可以調用構造方法,構造方法用于創建對象,與類名一致。無返回值,不能用void。類中不可以寫構造方法。若用該類
21、創建對象時。系統會自動調用默認的構造方法。默認的構造方法不帶任何參數Class beijubeiju()beiju(String name)beiju(String name,int age)3:類方法與實例方法其他方法:Public class TestPublic static void 形式參數與實際參數 一般來說,可通過如下的格式來引用成員方法: 成員方法名(實參列表) 但在引用時應注意下述問題: (1) 對于無參成員方法來說,是沒有實參列表的,但方法名后的括弧不能省略。 (2) 對于帶參數的成員方法來說,實參的個數、順序以及它們的數據類型必須與形式參數的個數、順序以及它們的數據類型保
22、持一致,各個實參間用逗號分隔。實參名與形參名可以相同也可以不同。 (3) 實參也可以是表達式,此時一定要注意使表達式的數據類型與形參的數據類型相同,或者使表達式的類型按Java類型轉換規則達到形參指明的數據類型。 (4) 實參變量對形參變量的數據傳遞是“值傳遞”,即只能由實參傳遞給形參,而不能由形參傳遞給實參。程序中執行到引用成員方法時,Java把實參值拷貝到一個臨時的存儲區(棧)中,形參的任何修改都在棧中進行,當退出該成員方法時,Java自動清除棧中的內容。【示例程序】public class Test static void add(double x,double y) double z;
23、 z=x+y; System.out.println("z="+z); x=x+3.2;y=y+1.2; System.out.println("x="+x+"ty="+y); static double add1(double y1,double y2) double z; z=y1+y2+2.9; return z; public static void main(String args) int a=2,b=7; double f1=2,f2=4,f3; add(a,b);/ 按Java的類型轉換規則達到形參類型 System.
24、out.println("a="+a+"tb="+b); / f3=add1(f1, f2, 3.5);錯,實參與形參參數個數不一致 f3=2+add1(f1,f2); System.out.println("f1="+f1+"tf2="+f2+"tf3="+f3); 該程序的運行結果如下:z=9.0x=5.2 y=8.2a=2 b=7f1=2.0 f2=4.0f3=10.9 成員方法的引用方式 成員方法的引用可有下述幾種方式。 1方法語句 成員方法作為一個獨立的語句被引用。例如,程序c4_12
25、.java中的“add(a,b);”語句就是這種形式。 2方法表達式 成員方法作為表達式中的一部分,通過表達式被引用。例如,程序c4_12.java中的“f3=2+add1(f1,f2);”語句就是這種形式。 3方法作為參數 一個成員方法作為另一個成員方法的參數被引用。例如,程序c4_13.java中的“add(a,add1(f1,f2);”語句就是這種形式的代表。更為典型的是,在遞歸的成員方法中,一個成員方法作為它自身的參數被引用。 4通過對象來引用 這里有兩重含義,一是通過形如“對象名.方法名”的形式來引用對象,二是當一個對象作為成員方法的參數時,通過這個對象參數來引用對象的成員方法。例如
26、,程序c4_3.java的“Dane.ShowDog(g,25,25);”語句,成員方法ShowDog( )本身通過對象Dane來引用;同時,通過作為參數的對象g引用了Graphics類的成員方法drawString( )。 第六章:JAVA的封裝多態繼承一、類的封裝定義:類中包含有一個或多個成員變量和方法;定義的public的方法是這個類對外的接口部分,通過調用它們可以與當前類交換信息;通過接口部分修改類中某些屬性,從而避免直接修改類中的數據,這體現了數據封裝思想;封裝機制就是類包含有成員變量和方法,類的設計者為用戶提供類對象可以訪問的部分,而對于類中的其他成員變量和方法隱藏起來,用戶無法訪
27、問特性:在類的定義中設置對對象中的成員變量和方法進行訪問的權限;提供一個統一供其他類引用的訪問;其它對象不能直接修改本對象所擁有的屬性和方法。修飾符:類:public、缺省屬性和方法:public、private、protected、private protected、缺省:public· 可以被所有的其他類訪問和引用,可以訪問這個類內部的可見的成員變量、調用可見的方法。· 若成員變量聲明為public,其他類的方法可以直接訪問它,但這樣破壞了封閉性· 若方法聲明為public,其他類可以直接調用這個方法,這樣的方法往往作為操作類對象的接口: private只能被
28、類自身訪問和修改,不能被任何其他類(包括子類)獲取和引用。:protected 用protected修飾的成員變量可以被三種類所引用:該類自身同一個包中的其他類在其他包中的該類的子類 作用: 允許存在其他包中該類的子類訪問其父類的特定屬性; 缺省(friendly)該類、屬性或方法具有缺省訪問控制權限。這樣的類、成員變量和方法只能被同一個包中的其他類訪問和引用,因此,控制權限控制:訪問控制本類同一包中的類其他包中子類其他包中的類publicÖÖÖÖprivateÖ×××protectedÖÖ
29、214;×缺省ÖÖ××方法重載 重載是指在同一類中,同一個方法名被定義多次,但采用不同的形式參數列表,包括形參的個數、類型、順序的不同來區分重載的方法。調用方法時,系統是通過方法名和參數確定所調用的具體方法。這種現象叫做方法的重載4:方法重載/ MethodOverload.javaimport java.applet.Applet;public class SquareInt extends Applet public void init() int result; for ( int x = 1; x <= 10; x+ ) resu
30、lt = square( x ); System.out.println("The square of " + x + " is " + result); public int square( int y ) return y * y public double square( double y ) return y * y; 構造方法的重載:public class Point protected int x, y; public Point() setPoint( 0, 0 ); public Point( int a, int b ) setPoi
31、nt( a, b ); public void setPoint( int a, int b ) x = a; y = b; public int getX() return x; public int getY() return y; public String toString() return "" + x + ", " + y + "" 二:多態不同的對象收到同一個消息可產生完全不同的效果,這一現象叫做多態。多態的效果 ¾用戶發送一個通用的消息,而實現的細節則由接收對象自行決定三、類的繼承在 Java 中,類是一個層
32、次結構,其中Object為特殊超類或基類,所有的類都直接或間接地繼承Object類;子類繼承父類的屬性和方法,同時也可以修改父類的屬性或重載父類的方法,以及在父類的基礎上添加新的屬性和方法。因此,父類和子類之間反映的是“一般與特殊”的關系。形式為:訪問權限 class 類名 extends 父類 類體this 與 super: this表示的是當前對象本身或者說是當前對象的一個引用。 Super表示當前對象的直接父類對象,是當前對象直接父類的引用。如A類派生出子類B,那么B類是A類的直接父類。super和this的使用:class EmployeeString name;Employee(St
33、ring name)=name;public void showInfo()System.out.println("this is superClass call:"+name);public void getInfo()showInfo();class Manage extends EmployeeString name;/注意與父類同名的成員變量String department;Manage(String n)super(n);public void showInfo()super.showInfo(); /調用父類的方法System.out.pri
34、ntln("this is subClass call:"+name);System.out.println(department);public class CoverMethodpublic static void main(String args)Manage aa=new Manage("李四");="張三"aa.department="經理室"aa.getInfo();第七章:接口和包一、抽象類和方法用abstract 修飾的類被稱為抽象類。所謂抽象類就是沒有具體實例對象的類。抽象類通常包括
35、一個或多個抽象方法(只有方法說明,沒有方法體),抽象類的子類必須完成父類定義的每一個抽象方法,除非該子類也是抽象類。它的主要用途是用來描述概念性的內容,這樣可以提高開發效率,更好地統一用戶“接口”。定義抽象類:abstract class 類名稱 成員變量; 方法(); /定義一般方法 abstract 方法(); /定義抽象方法 說明:抽象類中可以包含有一般方法,也可以包含有抽象方法;對于抽象方法不用完成其代碼實現,而在派生的子類中實現所有抽象方法二、接口定義:接口可以被用來實現類間多繼承結構。接口內部只能定義 public 的抽象方法和靜態的、公有常量,因此所有的方法需要在子類中實現。水果類梨香蕉蘋果樹樹木類松樹柳樹多繼承單繼承水果梨北京鴨梨定義接口: 訪問權限 interface 接口名稱 extends 父接口名1,父接口名2,. /接口體程序 接口體中定義的方法都是抽象、公有的,常量都是靜態、公有的。 接口訪問權限只有兩種:public和缺省狀態 接口的實現: class 類名 implements 接口名1, 接口名2 其中:在類中使用implements關鍵字實現接口,而且對于一個類而言,可以實現多個接口。實例:interface Areafloat calculateArea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動教育的歷史發展與時代需求分析
- 植物生物學光合作用知識考點
- 環保行動議論文的實踐10篇
- 第一型線積分和面積分
- 2021電力企業標準化作業控制卡
- 綠色卡通插畫風低碳出行
- 領導力發展如何成為卓越的領導者
- 風能產業技術創新與未來發展路徑研究
- 項目風險管理與數據分析的實施
- 非遺技藝傳承中的文化與科技的融合路徑
- 2023年北京中考地理試卷及答案
- 小學數學四年級(下冊)教師用書
- 跨境電子商務實訓
- 新蘇科版八年級下冊初中數學 7.2 統計圖的選用課時練(課后作業設計)
- 籃球--傳切配合(縱切)課件.ppt
- 兒童學習困難課件
- 繪就“行走的思政課”
- 護生入科宣教
- 物理降溫操作流程及評分標準
- 建設工程項目內部經濟責任承包合同格式
- 工具鉗工技能操作鑒定要素細目表09版
評論
0/150
提交評論