版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、復(fù)習(xí)參考考試題型:1.單項選擇題(本大題共15小題,每小題1分,共15分)2. 判斷題(10小題,每小題1分,共10分)3.填空題(本大題共10空,每個空2分,共20分)4.閱讀程序,寫出程序運行后的輸出結(jié)果(本大題共3小題,每小題6分,共18分)5. 編程題(本大題共3小題,共37分),其中第1題:9分 (位操作),第2題 14(分排序或字符串處理),第3題 14分(類與對象)。 涉及數(shù)組、排序、字符串處理、類和對象(實例)、位操作(手寫推算步驟及最終結(jié)果,要求看樣題)等??荚嚿婕暗南嚓P(guān)知識點:1. java程序類型:(1) java application(需 主類)、java程序、源程序
2、、類、接口、字節(jié)碼文件、包、JDK JVM javac.exe java.exe跨平臺 java開發(fā)步驟 一二維數(shù)組等(2) java applet:java小程序(可以沒有主類,是圖形界面),主要用于網(wǎng)頁(3) java script:網(wǎng)頁或網(wǎng)站的“腳本”程序2. 標(biāo)識符和關(guān)鍵字:class、interface final abstract static void byte short int long float double boolean String return 異常常用的關(guān)鍵字(try catch finally throw throws)3. 表達式:= 比較運算符: >
3、 >= < <= != =邏輯運算符: && | !位運算符: & >> >>> <<instanceof + - 前后關(guān)系 ? : 算合語句s+=5 s-=5 s*=5 s/=5 int a=b=10;4. 程序控制結(jié)構(gòu): 順序、選擇、循環(huán)(1) 單路選擇結(jié)構(gòu)if() (2) 多路選擇結(jié)構(gòu) if( ) . else . (3) else if 結(jié)構(gòu)(4) switch (break);while() do . while( ); break continuefor( ; ; ) 5. 面向?qū)ο蟮某绦蛟O(shè)計: 類
4、:class 成員變量 方法成員 修飾符(訪問 、特征)static變量成員或方法 實例變量成員或方法 UML圖對象:Object 創(chuàng)造對象 new 方法:void 方法 、非void 方法、 static 方法(類方法)、 非 static 方法(實例方法)方法參數(shù)傳遞: 實參 形參 傳值 傳引用(數(shù)組 對象 接口)多態(tài):重載 重寫this 、super構(gòu)造方法(在類的繼承中可能用到的關(guān)鍵字super)包:關(guān)鍵字import 、package繼承(組合:主類main() 與繼承): 繼承 創(chuàng)新 改造 子類不能降低父類的訪問級別Super、 this 、上轉(zhuǎn)型對象Abstract、 final
5、 接口:interface (1) 實現(xiàn):implements 也是一種繼承(包括 一般類與抽象類,多實現(xiàn))(2) 繼承:extends (與類相比的“多繼承”)(3) 靜態(tài)塊(靜態(tài)初始化器) static 、構(gòu)造塊 、構(gòu)造方法以及在類的繼承和實例生成中的相互關(guān)系和執(zhí)行順序。6. java 關(guān)于異常的相關(guān)知識點:(1) 錯誤與異常:錯誤:程序在執(zhí)行過程中由于硬件或操作系統(tǒng)出錯,而導(dǎo)致的程序員無法控制的錯誤。異常:指硬件或操作系統(tǒng)正常時,程序遇到的運行錯。由于語句中產(chǎn)生的語法錯(不能通過編譯)、語義錯(能通過編譯)、邏輯錯(能通過編譯)而使程序無法運行或運行后不能產(chǎn)生正確結(jié)果的現(xiàn)象。 (2)異常
6、類(Exception)java中常用到的跟異常有關(guān)的關(guān)鍵字:try catch finally throw throws參考復(fù)習(xí)題:一、單項選擇題1以下說法正確的是_。 (A) Java中所有的方法都必須在類內(nèi)定義 (B) Java中主方法可以不在類內(nèi)定義,其他方法都必須定義在類內(nèi) (C) Java中主方法必須定義在類內(nèi),其他方法可以不必定義在類內(nèi) (D) Java中所有方法都不必在類內(nèi)定義 2Java源文件和編譯后的文件擴展名分別是_。 (A).class 和 .java (B).class 和 .class (C).java 和 .class (D).java 和 .java 3要開發(fā)J
7、ava程序,需要安裝的開發(fā)包是_。 (A)jdk (B)eclipse (C)notepad (D)記事本 4Java中所有類的默認(rèn)超類為_。 (A)Object (B)Class (C)Main (D)Super 5下列語句中能建立scu包的語句是_。 (A)import java.scu; (B)import scu; (C)package scu; (D)package java.scu; 6關(guān)于Object類中定義的toString方法,以下說法正確的是_。 (A)toString方法可以將java預(yù)定義的類型轉(zhuǎn)換為字符串類型 (B)toString方法可以將字符串類轉(zhuǎn)換為java預(yù)定
8、義的類型 (C)toString方法可以將所有其他類型轉(zhuǎn)換為字符串類型 (D)toString方法可以將字符串類型轉(zhuǎn)換為所有其他類型 7在子類的構(gòu)造函數(shù)中要調(diào)用父類的構(gòu)造函數(shù),需要用哪個關(guān)鍵字_。 (A)final (B)extends (C)implements (D)super 8 在Java語言中,下列哪個包是編譯器自動導(dǎo)入的? _。 (A)java.lang (B) (C)javax.swing (D)java.util 9以下語句中,沒有創(chuàng)建出字符串對象的是 _。 (A)String str; (B)String str = “hello”; (C)String str = new
9、String( ); (D)new String(“hello”); 10關(guān)于布爾類型說法正確的是 _。 (A)boolean表示布爾類型,它的取值只有true和false (B)bool表示布爾類型,它的取值只有true和false (C)boolean表示布爾類型,它的取值只有1和0 (D)bool表示布爾類型,它的取值只有1和0 11. 編譯Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為_。 A. java B. .class C. html D. .exe12. 設(shè) x = 1 , y = 2 , z = 3,則表達式 yz/x 的值是(
10、)。 A. 3 B. 3. 5 C. 4 D. 513 不能作為類及類成員的訪問控制符的是( )。 A. public B. private C. static D. protected14 為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為_。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )15Java application中的主類需包含main方法,以下哪項是main方法
11、的正確形參?_A、 Strings argsB、String argsC、String argD、StringBuffer args16以下關(guān)于繼承的敘述正確的是_。A、在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D、在Java中接口只允許單一繼承17以下哪個不是Java的原始數(shù)據(jù)類型_A、intB、BooleanC、floatD、char18給出下面代碼,關(guān)于該程序以下哪個說法是正確的?_public class Person static int arr = new int5;public static void
12、main(String a) System.out.println(arr0); A、編譯時將產(chǎn)生錯誤B、編譯時正確,運行時將產(chǎn)生錯誤C、輸出零D、輸出空19下列哪些語句關(guān)于Java內(nèi)存回收的說明是正確的? _A、程序員必須創(chuàng)建一個線程來釋放內(nèi)存B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存D、內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象20以下代碼段執(zhí)行后的輸出結(jié)果為_int x =3; int y =10;System.out.println(y%x);A、-1B、2C、1D、321. 將字符串s中的小寫字母轉(zhuǎn)換成大寫字母的正確方法是: a)s.toLowercase(
13、 ) b) s.toUppercase( )c)s.toUpperCase( ) d)s.toLowerCase( )22. 在Java中,所有類的根類是( )。a)java.lang.Object b)java.lang.Class c)java.applet.Applet d)java.awt.Frame23有以下程序片段,下列哪個選項不能插入到行1。_1.2 .public class Interesting3. /do sth 4.A、import java.awt.*; B、package mypackage;C、class OtherClass D、public class MyC
14、lass 24在使用interface聲明一個接口時,只可以使用( )修飾符修飾該接口。A、private B、protected C、private protectedD、public25、有以下方法的定義,請選擇該方法的返回類型( )。ReturnType method(byte x, double y)return (short) x/y*2;A、byte B、shortC、intD、double26、如下哪個是Java中的標(biāo)識符() A、public B、superC、3number D、width27. 如下哪個是Java中的標(biāo)識符( )A、fieldname B、superC、3n
15、umber D、#number28. 已知如下定義:String s = "story" 下面哪個語句不是合法的( )A、s += "books"B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;應(yīng)該是s.length()29. 如下哪個是Java中有效的關(guān)鍵字() A、nameB、helloC、false D、good30、下面的代碼段執(zhí)行之后count的值是什么( )int count = 1;for (int i = 1; i <= 5; i+) count += i;Syst
16、em.out.println(count);A、5 B、1C、15 D、1631. 定義一個類,必須使用的關(guān)鍵字是( )A、publicB、classC、interfaceD、static32. 定義一個接口必須使用的關(guān)鍵字是( )A、public B、classC、interfaceD、static33. 下列程序段執(zhí)行后的結(jié)果是( )。 String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2)/i=0 2 4 6 System.out.print(s.charAt(i); A) aceg
17、B) ACEG C) abcdefg D) abcd 34 應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。 String s1=new String("abc"); String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1=s2); System.out.print(b1+" "+b2); A)true false B) false true C) true true D)false false 35 下面程序段執(zhí)行后b的值是( )。Int
18、eger integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false36. 應(yīng)用程序Test.java的源程序如下,在命令行鍵入:java Test aaa bb c回車后輸出的結(jié)果是 ( )。public class Test public static void main(String args) int k1=args.length; /3 int k2=args1.length(); /2 System.out.print(k1+" "+k2); A)
19、3 2 B)1 2 C) 1 3 D) 3 3 37、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。int b=1, 2,2, 2,2,2; int sum=0; /此處應(yīng)該出錯了 for(int i=0;i<b.length;i+) for(int j=0;j<bi.length;j+) sum*=bij; System.out.println("sum="+sum);A) 32 B)11 C) 2 D) 3 38. 應(yīng)用程序的main方法中有以下語句,則執(zhí)行后輸出的結(jié)果是 ( )。int x=125,21,5,168,98;int max=x0
20、;for(int i=1;i<x.length;i+)if(xi> max)max =xi;System.out.println(max);A) 125 B) 5 C) 98 D) 168 39. 程序Test.java編譯運行后輸出的結(jié)果是( )。public class Test String s1="java" public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A) java2 B)2 C)沒有輸出結(jié)果 D)java 40
21、 應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。String s1="0.5", s2="12" double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y);A) 12.5 B) 120.5 C) 12 D) “12.5” 41. 關(guān)于下面的程序Test.java說法正確的是( )。public class Test String x="1" int y; public static void main(Stri
22、ng args) int z=2; System.out.println(x+y+z); A)3 B)102 C) 12 D)程序有編譯錯誤說明:static String x=”1”; static int y; 42. 應(yīng)用程序的main方法中有以下語句,則執(zhí)行后輸出的結(jié)果是 ( )。int x = 125,21,5,168,98;int min = x0;for (int i=1; i<x.length; i+)if(xi < min)min = xi;System.out.println(min);A) 125 B) 5 C) 98 D) 168 43關(guān)于選擇結(jié)構(gòu)下列哪個說
23、法正確?()Aif語句和 else語句必須成對出現(xiàn)Bif語句可以沒有else語句對應(yīng)Cswitch結(jié)構(gòu)中每個case語句中必須用break語句Dswitch結(jié)構(gòu)中必須有default語句44while循環(huán)和 dowhile循環(huán)的區(qū)別是:()A沒有區(qū)別,這兩個結(jié)構(gòu)任何情況下效果一樣Bwhile循環(huán)比 dowhile循環(huán)執(zhí)行效率高Cwhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次Ddowhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次45下列修飾符中與訪問控制無關(guān)的是()Aprivate BpublicCprotectedDfinal46 void的含義:()A方法沒有返回值 B 方法體
24、為空C沒有意義 D.定義方法時必須使用47 return語句:()A只能讓方法返回數(shù)值B方法都必須含有C方法中可以有多句return D不能用來返回對象48關(guān)于對象成員占用內(nèi)存的說法哪個正確?()A同一個類的對象共用同一段內(nèi)存B、同一個類的對象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間C對象的方法不占用內(nèi)存D以上都不對說明:同一個類的不同對象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間49下列說法哪個正確?A不需要定義類,就能創(chuàng)建對象B對象中必須有屬性和方法C屬性可以是簡單變量,也可以是一個對象D、屬性必須是簡單變量50下列說法哪個正確?()A、一個程序可以包含多個源文件B、一個源文件中
25、只能有一個類C、一個源文件中可以有多個公共類D、一個源文件只能供一個程序使用51 關(guān)于方法main()的說法哪個正確?()A方法main()只能放在公共類中B main()的頭定義可以根據(jù)情況任意更改C一個類中可以沒有main()方法D所有對象的創(chuàng)建都必須放在main()方法中52構(gòu)造函數(shù)何時被調(diào)用?()A、創(chuàng)建對象時B、類定義時C、使用對象的方法時D、使用對象的屬性時53 抽象方法:()A、可以有方法體B、可以出現(xiàn)在非抽象類中C、是沒有方法體的方法D、抽象類中的方法都是抽象方法54關(guān)于繼承的說法正確的是:()A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。C、子類只
26、繼承父類public方法和屬性D、子類只繼承父類的方法,而不繼承屬性55關(guān)于構(gòu)造函數(shù)的說法哪個正確?()A、一個類只能有一個構(gòu)造函數(shù)B、一個類可以有多個不同名的構(gòu)造函數(shù)C、構(gòu)造函數(shù)與類同名D、構(gòu)造函數(shù)必須自己定義,不能使用父類的構(gòu)造函數(shù)56 this和super:A、都可以用在main()方法中B、都是指一個內(nèi)存地址C、不能用在main()方法中D、意義相同57關(guān)于super的說法正確的是:A、是指當(dāng)前對象的內(nèi)存地址B、是指當(dāng)前對象的父類對象的內(nèi)存地址C、是指當(dāng)前對象的父類D、可以用在main()方法中58覆蓋與重載的關(guān)系是()A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中B覆蓋
27、方法可以不同名,而重載方法必須同名Cfinal修飾的方法可以被覆蓋,但不能被重載D覆蓋與重載是同一回事59. 請說出下列代碼的執(zhí)行結(jié)果 : String s = "abcd" String s1 = new String(s); if (s = = s1) System.out.println("the same"); if (s.equals(s1) System.out.println("equals"); A. the same equals B. equals C. the same D. 什么結(jié)果都不輸出60. 下列有關(guān) J
28、ava 中接口的說法哪個是正確的? A. 接口中含有具體方法的實現(xiàn)代碼 B. 若一個類要實現(xiàn)一個接口,則用到 “implements” 關(guān)鍵字 C. 若一個類要實現(xiàn)一個接口,則用到“ extends ”關(guān)鍵字 D. 接口不允許繼承 61. 關(guān)于接口哪個正確?A. 類實現(xiàn)一個接口必須實現(xiàn)接口的所有方法B. 一個類只能實現(xiàn)一個接口C. 接口間不能有繼承關(guān)系D. 接口和抽象類是同一回事二、判斷題:1、Java是不區(qū)分大小寫的語言。 錯:Java是區(qū)分大小寫的語言2、Java的源代碼中定義幾個類,編譯結(jié)果就生成幾個以.class為后綴的字節(jié)碼文件。對3、Java Applet是由獨立的解釋器程序來運行
29、的。錯:是有瀏覽器來運行的4、Java Application是由獨立的解釋器程序來運行的。對5、Java Applet的字節(jié)碼文件必須嵌入HTML的文件中并由負(fù)責(zé)解釋HTML文件的WWW瀏覽器充當(dāng)解釋器來解釋運行。對6、Java Applet只能在圖形界面下工作。對7、Java Application只能在字符界面下工作。錯8、Java的字符類型采用的是ASCII編碼。錯:采用Unicode碼9、Java的字符類型采用的是Unicode編碼,每個Unicode碼占16個比特 對10、Java的各種數(shù)據(jù)類型占用固定長度,與具體的軟硬件平臺環(huán)境無關(guān)。對/錯11、Java Application源
30、程序是由類定義組成的,每個程序可以定義若干個類,但只有一個類是主類。對12、方法的覆蓋與域的隱藏一樣,父類的同名方法在子類中仍然占有自己獨立的內(nèi)存空間。對/錯13、子類的域和方法的數(shù)目一定大于等于父類的域和方法的數(shù)目。對/錯14、類在實現(xiàn)接口的方法時,必須顯示地使用public修飾符。對15、System類不能實例化,即不能創(chuàng)建System類的對象。對/錯16、Java中數(shù)組的元素只能是簡單數(shù)據(jù)類型的量。錯/17、Vector類中的對象不能是簡單數(shù)據(jù)類型。錯18、Java中的String類的對象既可以是字符串常量,也可以是字符串變量。對19、用戶自定義的圖形界面元素也可以響應(yīng)用戶的動作,具有交
31、互功能。對/20、Java的屏幕坐標(biāo)是以像素為單位,容器的左上角被確定為坐標(biāo)的起點。對/21、Java中,并非每個事件類都只對應(yīng)一個事件。?22、一個類只能有一個父類,但一個接口可以有一個以上的父接口。對23. 實現(xiàn)接口的類不能是抽象類。錯24Java程序里,創(chuàng)建新的類對象用關(guān)鍵字new,回收無用的類對象使用關(guān)鍵字free。 錯25Java有垃圾回收機制,內(nèi)存回收程序可在指定的時間釋放內(nèi)存對象。 錯 26構(gòu)造方法用于創(chuàng)建類的實例對象,構(gòu)造方法名應(yīng)與類名相同,類型為void。 錯27擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。 對 28靜態(tài)初始化器是在其所屬的類
32、加載內(nèi)存時由系統(tǒng)自動調(diào)用執(zhí)行。 對 29在Java中對象可以賦值,只要使用賦值號(等號)即可,相當(dāng)于生成了一個各屬性與賦值對象相同的新對象。錯30. 實現(xiàn)接口的類不能是抽象類。錯31. 方法中形參的名字可以和方法體中聲明的局部變量名字相同。錯32. 構(gòu)造方法必須自己定義,不能使用父類的構(gòu)造方法。對33. 子類可以繼承父類所有成員。錯34. 擁有abstract方法的類是抽象類,但抽象類中只能含有abstract方法。錯35 一個類不能既是子類又是父類。錯36. 不可以為某一個類定義多個構(gòu)造方法。錯37. final類不可以有子類。對38. 抽象類不能實例化。對39. 接口中所有方法均為抽象方法
33、。對40. final類可以有子類。錯三、填空:1、根據(jù)結(jié)構(gòu)組成和運行環(huán)境的不同,Java程序可分為兩類:_ 和 _ 。、類的修飾符分為_ 、 _ 。3、Java程序中定義類使用的關(guān)鍵字是 ,每個類的定義由類頭定義、類體定義兩部分組成,其中類體部分包括 _ 、_ 。4、Java程序中定義接口所使用的關(guān)鍵字是_ ,接口中的屬性都是_ ,接口中的方法都是 _ 。5、_ 是Java程序中所有類的直接或間接父類,也是類庫中所有類的父類。7、結(jié)構(gòu)化程序設(shè)計的三種基本流程控制結(jié)構(gòu)包括_ 、_、_。8、面向?qū)ο蟮娜齻€特征是 _、_、_。9、類的定義、類及類成員的修飾符:包括public、無修飾符、prote
34、cted、private protected、abstract、final、static、接口(interface)等10、數(shù)組、構(gòu)造方法、void方法 、非void方法、方法調(diào)用(無參、有參)等。11 、“包”的定義、引入非同包中的類等。12、表達式13、求“質(zhì)數(shù)”14.程序填空,例如: 在程序中引入Scanner類,完成由鍵盤交互輸入若干數(shù)字,并由程序輸出所輸入數(shù)字 的平方數(shù),當(dāng)輸入字符串“quit”時,程序結(jié)束運行。不完整程序如下:_【import java.util.Scanner】 _;public class Test2 public static void main(String
35、 args) Scanner buf=new Scanner( _【System.in】_ ); while( _【true】 _ ) String str = buf. 【nextLine()】; if(【str.equals("quit")】) _【break】_; int x=Integer.parseInt(str); System.out.println( _ 【x*x】_ ); 四、程序閱讀題:涉及類型題包括:數(shù)組、循環(huán)、字符串處理、五、編程題:1.排序(冒泡、選擇排序法,可能用到類方法、實例方法或形參是一維數(shù)組,注意是升序還是降序)2.字符串處理(類似書上的課
36、后習(xí)題)3.有關(guān)類的編程(包括類的繼承、構(gòu)造方法、生成實例、類方法、實例方法、求階乘等,不要求UML圖)4.手工位運算(包括 、&、 、 、>>、>>>、<< )類和類成員的修飾符修飾符:1. 訪問修飾符(1) 類:a) 省略訪問修飾符(default或friendly):即具有包訪問特性,這時類只能被同一個包中的類使用(Java將目錄或文件夾稱為“包”)。b) public 修飾符:對外公開,可以被所有其他類所使用(也具有包訪問特性),如果不在同一目錄中,必須用import 引入或在代碼中通過“包名.類名”引用。在一個java源程序中最多只能
37、有一個類是public 類。(2) 類成員:a) 無(default或friendly):可以在本類內(nèi)和同包中的其它類訪問b) public :可以被所有類訪問c) private:只能在本類“內(nèi)”訪問d) protected:可被本類、同包中的其他類、其他包中的子類所訪問訪問權(quán)限(從高到低):public、protected、無、private2. 特征修飾符(1) 類:a) abstract:抽象類。類中可能含有只有方法頭,而沒有方法體的抽象類。它必須用子類繼承(必須重寫所有的父類中的抽象方法)或用抽象類繼承該父類抽象類(可重寫所有父類中的抽象方法或只寫其中一部分或不寫,但最終必須由一般類
38、做子類來完成類的實例化)。b) final類:終止類。該類不能有“子”類。(2) 類成員:a) abstract:用于抽象方法(只有方法頭沒有方法體的方法)b) static:被修飾的成員變量或方法為類所有(若沒有final關(guān)鍵字且沒有被賦值,則成員變量自動被賦予初值,可以在不生成實例的情況下用類名直接引用)c) native:用于修飾類的方法,本地方法是外部模塊,用其他編程語言編寫方法體d) synchronized(同步):用于修飾類的方法。適用于“多線程”編程e) final:用于成員變量則被修飾的類為常量(必須在定義時賦值),或用于修飾方法則此方法為終止方法(即子類不能重寫此方法)。j
39、ava訪問權(quán)限修飾符public protected friendly private用法總結(jié) 首先聲明:java中,friendly這個修飾符并沒有顯式的聲明,在成員變量和方法前什么修飾符也不用,默認(rèn)的就是friendly。為了條理清晰,分三種不同情況來總結(jié)。 一 訪問權(quán)限修飾符修飾成員變量和方法public:表明該成員變量和方法是共有的,能在任何情況下被訪問。protected:必須在同一包中才能被訪問。(說的比較簡單,看個例子就明白了) eg:class A protected int weight ;protected int f( int a,int b ) / 方法體 假設(shè)B與A在
40、同一個包中,則class Bvoid g()A a=new A();A.weight=100;/合法A.f(3,4); /合法特別說明:什么是在同一個包中?答:用package打包在一起的class ,叫在同一個包中。(不明白,舉個例子)eg:在JDK的srcjavaio中,你會看到許多java類,第一句源代碼都是package java.io;沒有使用package打包的,在同一目錄下的類也會被視做同一個包。friendly:在這種情況下中,同protected。區(qū)別在第二和第三種情況中。 eg: class A int weight ;int f( int a,int b ) / 方法體
41、假設(shè)B與A在同一個包中,則class Bvoid g()A a=new A();A.weight=100;/合法A.f(3,4); /合法private: 只能在本類中訪問。eg: class Test private int money;Test()money=2000;private int getMoney()return money;public static void main(String args)Test te=new Test();te.money=3000; /合法int m=te.getMoney(); /合法System.out.println("money=
42、"+m);PS: 實際上,把重要的數(shù)據(jù)修飾為private,然后寫一個public的函數(shù)訪問它,正好體現(xiàn)了OOP的封裝特性,是OOP安全性的體現(xiàn)。二 訪問權(quán)限修飾符修飾類1,不能用protected和private修飾類。2,用friendly修飾的類叫友好類,在另外一個類中使用友好類創(chuàng)建對象時,要保證它們在同一包中。三 訪問權(quán)限修飾符與繼承這里的訪問修飾符指的是修飾成員變量和方法??梢苑譃閮煞N情況:1,子類與父類在同一包中此時只有聲明為private的變量與方法不能被繼承(訪問)。eg:class Fatherprivate int money ;int weight=100;cl
43、ass Son extends Fatherviod f()money=10000;/ 非法weight=100; / 合法2,子類與父類不在同一包中此時private與friendly均不能被繼承(訪問), protected與public可以。eg:Father.javapackage com.aaapublic class Fatherint height ;protected int money=120;public int weight;protected int getMoney()return money;void setMoney(int newMoney)money=newM
44、oney;Son.javapackage com.bbbimport com.aaa.Father;public class Son extends Fathervoid f()money=10000;/合法/height=170;/非法,height為friendly修飾的變量System.out.println(money);/輸出結(jié)果是10000/setMoney(300); /非法int number=getMoney(); /合法System.out.println(number);/輸出結(jié)果是10000public static void main(String args)Son
45、sss=new Son();sss.f();所以,訪問權(quán)限修飾符權(quán)限從高到低排列是public ,protected ,friendly, private。/*以下為編程樣題,僅做參考*/P62 11題import java.util.Scanner;class U20_3 public static void main(String args) Scanner reader=new Scanner(System.in); System.out.print("n=?"); /輸入5則顯示書上的結(jié)果 int n=reader.nextInt(); int a=new intnn; int i,j,c=0,p; for(i=0;i<n;i+) p=i+1; for(j=0;j<=i;j+) p-; apj=+c; for(i=0;i<n;i+) for(j=0;j<n;j+) System.out.print(aij!=0?aij+"t":""); System.out.println(); /*/字符串處理,引入Scanner 類完成字符串的交互輸入import java.util.Scanner;class U20_4 public static void main(String args)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)項目施工合同流程解析
- 福州房屋買賣合同公證服務(wù)
- 通信設(shè)備總經(jīng)理招聘合同
- 學(xué)校網(wǎng)簽版施工合同
- 城市地下供水箱涵施工協(xié)議
- 礦泉水企業(yè)聘用合同范本
- 商務(wù)寫字樓租賃合同三篇
- 游泳教練員培訓(xùn)合同三篇
- 土地租賃合同安全責(zé)任條款
- 集體公共設(shè)施用地出讓合同
- 2024春期國開電大法學(xué)本科《國際法》在線形考(形考任務(wù)1至5)試題及答案
- 教科版二年級上冊科學(xué)全冊表格式教案 (二)
- 醫(yī)院的檢驗報告單模板
- (2024年)薪酬管理課件
- 微信交租合同
- 個人股東認(rèn)股協(xié)議書范本3篇
- 通信線路高風(fēng)險作業(yè)施工安全操作須知樣本
- 2024年考研英語真題及答案(完整版)
- 蘇教版五年級數(shù)學(xué)上冊第三單元達標(biāo)測試卷含答案
- JC-T 753-2001 硅質(zhì)玻璃原料化學(xué)分析方法
- 沈陽職業(yè)技術(shù)學(xué)院單招《職業(yè)技能測試》參考試題庫(含答案)
評論
0/150
提交評論