- 相關(guān)推薦
華為java筆試題目
在各個(gè)領(lǐng)域,只要有考核要求,就會(huì)有試題,借助試題可以更好地考查參試者所掌握的知識(shí)和技能。你知道什么樣的試題才是規(guī)范的嗎?下面是小編為大家整理的華為java筆試題目,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
華為java筆試題目 1
一、 單項(xiàng)選擇題
1.Java是從( )語(yǔ)言改進(jìn)重新設(shè)計(jì)。
A.Ada B.C++ C.Pasacal D.BASIC 答案:B
2.下列語(yǔ)句哪一個(gè)正確( )
A. Java程序經(jīng)編譯后會(huì)產(chǎn)生machine code
B. Java程序經(jīng)編譯后會(huì)產(chǎn)生byte code
C. Java程序經(jīng)編譯后會(huì)產(chǎn)生DLL
D. 以上都不正確 答案:B
3.下列說(shuō)法正確的有( )
A. class中的constructor不可省略
B. constructor必須與class同名,但方法不能與class同名
C. constructor在一個(gè)對(duì)象被new時(shí)執(zhí)行。
D. 一個(gè)class只能定義一個(gè)constructor 答案:C
4.提供Java存取數(shù)據(jù)庫(kù)能力的包是( )
A.java.sql B.java.awt C.java.lang D.java.swing 答案:A
5.下列運(yùn)算符合法的是( )
A.&& B.<> C.if D.:= 答案:A
6.執(zhí)行如下程序代碼
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
后,C的值是( )
A.0 B.1 C.-1 D.死循環(huán) 答案:C
7.下列哪一種敘述是正確的( )
A. abstract修飾符可修飾字段、方法和類(lèi)
B. 抽象方法的body部分必須用一對(duì)大括號(hào){ }包住
C. 聲明抽象方法,大括號(hào)可有可無(wú)
D. 聲明抽象方法不可寫(xiě)出大括號(hào) 答案:D
8.下列語(yǔ)句正確的是( )
A. 形式參數(shù)可被視為local variable
B. 形式參數(shù)可被字段修飾符修飾
C. 形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù)
D. 形式參數(shù)不可以是對(duì)象 答案:A
9.下列哪種說(shuō)法是正確的( )
A. 實(shí)例方法可直接調(diào)用超類(lèi)的實(shí)例方法
B. 實(shí)例方法可直接調(diào)用超類(lèi)的類(lèi)方法
C. 實(shí)例方法可直接調(diào)用其他類(lèi)的實(shí)例方法
D. 實(shí)例方法可直接調(diào)用本類(lèi)的類(lèi)方法 答案:D
二、 多項(xiàng)選擇題
1.Java程序的種類(lèi)有( )
A.類(lèi)(Class) B.Applet C.Application D.Servlet
2.下列說(shuō)法正確的有( )
A. 環(huán)境變量可在編譯source code時(shí)指定
B. 在編譯程序時(shí),所能指定的環(huán)境變量不包括class path
C. javac一次可同時(shí)編譯數(shù)個(gè)Java源文件
D. javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory) 答案:BCD
3.下列標(biāo)識(shí)符不合法的有( )
A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD
4.下列說(shuō)法錯(cuò)誤的有( )
A. 數(shù)組是一種對(duì)象 B. 數(shù)組屬于一種原生類(lèi)
C. int number=[]={31,23,33,43,35,63} D. 數(shù)組的大小可以任意改變 答案:BCD
5.不能用來(lái)修飾interface的有( )
A.private B.public C.protected D.static 答案:ACD
6.下列正確的有( )
A. call by value不會(huì)改變實(shí)際參數(shù)的數(shù)值
B. call by reference能改變實(shí)際參數(shù)的參考地址
C. call by reference不能改變實(shí)際參數(shù)的參考地址
D. call by reference能改變實(shí)際參數(shù)的內(nèi)容 答案:ACD
7.下列說(shuō)法錯(cuò)誤的有( )
A. 在類(lèi)方法中可用this來(lái)調(diào)用本類(lèi)的類(lèi)方法
B. 在類(lèi)方法中調(diào)用本類(lèi)的類(lèi)方法時(shí)可直接調(diào)用
C. 在類(lèi)方法中只能調(diào)用本類(lèi)中的類(lèi)方法
D. 在類(lèi)方法中絕對(duì)不能調(diào)用實(shí)例方法 答案:ACD
8.下列說(shuō)法錯(cuò)誤的有( )
A. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的過(guò)程與函數(shù)存在
B. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的方法存在
C. Java語(yǔ)言中的方法屬于類(lèi)中的成員(member)
D. Java語(yǔ)言中的方法必定隸屬于某一類(lèi)(對(duì)象),調(diào)用方法與過(guò)程或函數(shù)相同 答案:ABC
9.下列說(shuō)法錯(cuò)誤的有( )
A. 能被java.exe成功運(yùn)行的java class文件必須有main( )方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件
D. 能被Appletviewer成功運(yùn)行的java class文件必須有main( )方法 答案:BCD
三、 判斷題
1.Java程序中的起始類(lèi)名稱(chēng)必須與存放該類(lèi)的文件名相同。( ) 答案:正確
2.Unicode是用16位來(lái)表示一個(gè)字的。( ) 答案:正確
3.原生類(lèi)中的數(shù)據(jù)類(lèi)型均可任意轉(zhuǎn)換。( ) 答案:錯(cuò)誤
1、給定如下JAVA 程序片斷: class A{ public A( ){ system.out.println(“A”); } } class B extends A{ public B( ){System.out.println(“B”);} public static void main(String[] args){ B b=new B( );} } 上述程序?qū)? ).(選擇一項(xiàng))
A、 不能通過(guò)編譯
B、通過(guò)編譯,輸出為: A B
C、通過(guò)編譯,輸出為: B
D、通過(guò)編譯,輸出為: A
2、某一 java程序中有如下代碼: Datalnputstream din=new DataInputstream(new BufferedInputstream (new FileInputstream(“employee.dat”) )); 假設(shè)在employee.dat文件中只有如下一段字符:abcdefg。則:System.out.println(din)在屏幕上打。 ).(選擇一項(xiàng))
A、A
B、B
C、97
D、98
3、給定java代碼片段,如下: int i=0,j=-1; switch(i){ case 0,1:j=1; case 2:j=2; } System.out.print("j="+j); 編譯運(yùn)行,正確的是( )。(選擇一項(xiàng))
A、程序編譯出錯(cuò)
B、j=1
C、j=2
D、j=0
4、在Java中,下面關(guān)于構(gòu)造函數(shù)的描述正確的是( )。(選擇一項(xiàng))
A、類(lèi)必須有顯式構(gòu)造函數(shù)
B、它的返回類(lèi)型是void
C、它和類(lèi)有相同的名稱(chēng),但它不能帶任何參數(shù)
D、以上皆非
5、 在JAVA編程中,Swing包中的組件處理事件時(shí),下面( )是正確的。(選擇一項(xiàng))
A、 Swing包中的組件也是采用事件的授權(quán)得理模型來(lái)處理事件的
B、 Swing包中組件產(chǎn)生的事件類(lèi)型,也都帶有一個(gè)J字母,如:JmouseEvent
C、Swing包中的組件也可以采用事件的傳遞處理機(jī)制
D、 Swing包的組件所對(duì)應(yīng)的事件適配器也是帶有J字母的,如:JmouseAdapter
6、Public class EqTest { public static void main(String args[]){ EqTest e=new EqTest( ); } EqTest( ){ String s="Java"; String s2="java"; //在這兒放置測(cè)試代碼 {System.out.println("相等");} else {System.out.println("不相等");} } } 在上面的Java代碼的注釋行位置,放置( )測(cè)試代碼能輸出“相等”結(jié)果。(選擇一項(xiàng))
A、if(s==s2)
B、if(s.equals(s2))
C、if(s.equalsIgnoreCase(s2))
D、if(s.noCaseMatch(s2))
7、 在類(lèi)的說(shuō)明符中,被指定為私有的數(shù)據(jù)可以被以下( )訪問(wèn)。(選擇一項(xiàng))
A、程序中的任何函數(shù)
B、其他類(lèi)的成員函數(shù)
C、類(lèi)中的成員函數(shù)
D、派生類(lèi)中的成員函數(shù)
8、 在JAVA編程中,以下( )命令用來(lái)執(zhí)行java類(lèi)文件。(選擇一項(xiàng))
A、javac
B、java
C、appletviewer
D、以上所有選項(xiàng)都不正確
9、Java中,下面的'方法可以正確的創(chuàng)建一個(gè)Swing標(biāo)簽組件是( )(選擇兩項(xiàng))
A、ImageIcon icon = new ImageIcon(
B、ImageIcon icon = new ImageIcon(
C、ImageIcon icon=new ImageIcon(
D、JLabel label=new JLabel(SwingConstants.LEFT);
10、分析下面的用Java語(yǔ)言編寫(xiě)的trythis( )方法: public void trythis( ){ try{ System.out.print("a"); problem( ); }catch(RuntimeException e){ System.out.print("b"); }catch(Exception e){ System.out.print("c"); }finally{ System.out.print("d"); } System.out.print("e"); } 當(dāng)該方法被調(diào)用時(shí),如果其中的problem( )方法引發(fā)一個(gè)RuntimeException類(lèi)的異常,那么輸出結(jié)果將是( )。(選擇一項(xiàng))
A、abcde
B、abd
C、abde
D、abe
11、 public class MyClass1{ public static void main (String argv[]){} _____ class MyInner {} } 在以上java代碼中的橫線上,可放置( )修飾符。(選擇三項(xiàng))
A、public
B、private
C、static
D、friend
12、public class test3{ public static void main(String args[]){ for{int I=0;I<3;i++}{ int="" j="">0;j--}{ If(I==j) continue; System.out.print}n(“I=”+I+”j=”+j) } } } } 上面的JAVA代碼編譯運(yùn)行后,下列選項(xiàng)中,( )會(huì)出現(xiàn)在輸出結(jié)果中,(選擇三項(xiàng))
A、I=0 j=3
B、I=0 j=0
C、I=2 j=2
D、I=0 j=2
E、I=1 j=2 13、如下Java代碼段,體現(xiàn)了( )概念。(選擇一項(xiàng)) ..... public void aMethod(String s){....} public void aMethod(int i){.........} public void aMethod(int I,float f){.....} .....
A、多繼承
B、重載
C、重寫(xiě)
D、多態(tài)
14、java語(yǔ)言中,下列時(shí)處理輸出操作的所有類(lèi)的基礎(chǔ)的是( )(選擇一個(gè))
A、DataOutput
B、OutputStream
C、BufferedOutputStream
D、IOStream
15、在jave中,類(lèi)Worker是類(lèi)Person的子類(lèi),Worker的構(gòu)造方法中有一句”super( )”, 該語(yǔ)句 ( )。(選擇一項(xiàng))
A、a) 調(diào)用類(lèi)Worker 中定義的super( )方法
B、b) 調(diào)用類(lèi)Person中定義的super( )方法
C、c) 調(diào)用類(lèi)Person的構(gòu)造函數(shù)
D、d) 句法錯(cuò)誤
16、在Java中,關(guān)于final關(guān)鍵字的說(shuō)法正確的是( )。(選擇兩項(xiàng))
A、如果修飾變量,則一旦賦了值,就等同一個(gè)常量
B、如果修飾類(lèi),則該類(lèi)只能被一個(gè)子類(lèi)繼承
C、如果修飾方法,則該方法不能在子類(lèi)中被覆蓋
D、如果修飾方法,則該方法所在的類(lèi)不能被繼承
17、在Java中,下列選項(xiàng)表示字符”a”值的是( ).(選擇一項(xiàng))
A、a
B、"a"
C、new Character(a)
D、00a
18、給定java代碼片段,如下: Integer a = new Integer(3); Integer b = new Integer(3); System.out.println(a==b); 運(yùn)行后,這段代碼將輸出( )。(選擇一項(xiàng))
A、true
B、false
C、0
D、1
19、Java程序中讀入用戶(hù)輸入的一個(gè)值,要求創(chuàng)建一個(gè)自定義的異常,如果輸入值大于10,使用throw
語(yǔ)句顯式地引發(fā)異常,異常輸出信息為“something’s wrong!”,語(yǔ)句為( )。(選擇一項(xiàng))
A、if (I>10) throw Exception(“something’s wrong!”);
B、if (I>10) throw Exception e (“something’s wrong!”);
C、if (I>10) throw new Exception(“something’s wrong!”);
D、if (I>10) throw new Exception e (“something’s wrong!”);
20、42.給定兩個(gè)java程序,如下:Text.java的編譯運(yùn)行結(jié)果是( ). (選擇一項(xiàng)) pubilc interface Face{ int count=40; } pubilc class Text implements Face{ private static int counter; pubilc static void main(String[]args){ System.out.println(++counter); } }
A、40
B、41
C、0
D、1
21、39.給定一個(gè)Java程序代碼,如下:運(yùn)行編譯后,輸出結(jié)果是( ). (選擇一項(xiàng)) pubilc class Test{ int count = 9; pubilc void count1( ){ int count = 10; SYstem.out.println("count1"+count); } pubilc void count2( ){ SYstem.out.println("count2"+count); } pubilc static void main(String args[]){ Test t =new Twst( ); t.count1( ); t.count2( ); } }
A、count1=9 count2=9
B、count1=10 count2=9
C、count1=10 count2=10
D、count1=9 count2=10
22、37.給定java代碼如下:要使用這段代碼能夠編譯成功,橫線處可以填入( ).(選擇兩項(xiàng)) pubilc int count(char c,int i,double d){ return______; }
A、c*i
B、c*(int)d
C、(int)c*d
D、i*d
23、 在 JAVA編程中,Java編譯器會(huì)將Java程序轉(zhuǎn)換為( )。(選擇一項(xiàng))
A、字節(jié)碼
B、可執(zhí)行代碼
C、機(jī)器代碼
D、以上所有選項(xiàng)都不正確
24、在J2EE中,下列元素經(jīng)過(guò)排序的集合類(lèi)是( )。(選擇一項(xiàng))
A、LinkedList
B、Stack
C、Hashtable
D、TreeSet
25、9) 分析下面的Java程序: public class yy { public static void main(String[] ards) throws Exception { try { throw new Exception( ); }catch(Exception e){ System.out.println("Caught in main( )"); } System.out.println("nothing"); } } 輸出結(jié)果為( )。(選擇一項(xiàng))
A、Caught in main( ) nothing
B、Caught in main( )
C、nothing
D、沒(méi)有任何輸出
26、編譯并運(yùn)行下面的Java代碼段: char c=a; switch (c) { case a: System.out.println("a"); default: System.out.println("default"); } 輸出結(jié)果是( )。(選擇一項(xiàng))
A、代碼無(wú)法編譯,因?yàn)閟witch語(yǔ)句沒(méi)有一個(gè)合法的表達(dá)式
B、a default
C、a
D、default
27、在Java中,執(zhí)行下面的語(yǔ)句后,c的值為( )。(選擇一項(xiàng)) String s= "Jessica "; char c=s.charAt(6);
A、null
B、
C、c
D、a
28、在J2EE中,下面的代碼中出現(xiàn)編譯錯(cuò)誤的是( )。(選擇一項(xiàng))
A、File f = new File("/","autoexec.bat");
B、DataInputStream din = new DataInputStream(new FileInputStream("autoexec.bat"));
C、InputStreamReader in = new InputStreamReader(System.in);
D、OutputStreamWriter out = new OutputStreamWriter(System.in);
29、38.在JavaSwing編程中,要獲取每次選擇的JComboBox對(duì)象的選項(xiàng)值,可以使用( )類(lèi)型的監(jiān)聽(tīng)機(jī)器. (選擇兩項(xiàng))
A、ActionListener
B、ltemListener
C、KeyListener
D、SelectionListener
30、在Java中,下面關(guān)于包的陳述中正確的是( )。(選擇兩項(xiàng))
A、包的聲明必須是源文件的第一句代碼
B、包的聲明必須緊跟在import語(yǔ)句的后面
C、只有公共類(lèi)才能放在包中
D、可以將多個(gè)源文件中的類(lèi)放在同一個(gè)包中
31、在Java中,要想使只有定義該類(lèi)所在的包內(nèi)的類(lèi)可以訪問(wèn)該類(lèi),應(yīng)該用( )關(guān)鍵字。(選擇一項(xiàng))
A、不需要任何關(guān)鍵字
B、private
C、final
D、protected
32、包pack1的類(lèi)class1中有成員方法: protected void method_1( ){}, private void method_2( ){}, public void method_3( ){}和void method_4( ){},在包pack2中的類(lèi)class2是class1的子類(lèi),你在class2中可以調(diào)用方法( )。(選擇兩項(xiàng))
A、method_1
B、method_2
C、method_3
D、method_4
33、在Java語(yǔ)言中,小明在他的包mypackage中定義了類(lèi)My_Class,在mypackage的子包mysubpackage中也有個(gè)類(lèi)My_Class。小明用.import mypackage:引入包,執(zhí)行其中的語(yǔ)句:My_Class NewClass=New My_Class( );時(shí),將發(fā)生( )。(選擇一項(xiàng))
A、創(chuàng)建一個(gè)類(lèi)mypackage.My_Class對(duì)象
B、創(chuàng)建一個(gè)類(lèi)mypackage. Mysubpackage.My_Class的對(duì)象
C、該語(yǔ)句是錯(cuò)誤的
D、創(chuàng)建一個(gè)類(lèi)mypackage.My_Class的對(duì)象和一個(gè)類(lèi)mypackage. Mysubpackage.My_Class的對(duì)象
34、41.在JavaSwing編程中,給定一個(gè)java程序main方法的代碼片段如下: JFrame jf=new JFrame( ); jf.getContentpane( ).setLayout(null); jf.setSize(200,200); jf.setVisible(true); //a 要在界面上顯示如下組件,則應(yīng)在A處填入( ). (選擇一項(xiàng))
A、JTextArea text = text JTextArea(100,100);text.setBounds(10,10,150,100);jf.getContentpane( ).add(text);
B、JTextField text = text JTextField(100,100);JScrollpane text=new JScrollpane(text);jf.setBounds(10,10,150,100);jf.getContentpane( ).add(jp);
C、JTextArea text = new JTextArea(100,1);JScrollpane jp=new JScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane( ).add(jp);
D、JTextArea text = new JTextArea(100,100);JScrollpane jp=new JScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane( ).add(jp);
35、在JAVA語(yǔ)言中,你的按鈕要實(shí)現(xiàn)下面的功能:當(dāng)鼠標(biāo)按下按鈕時(shí),顯示“鼠標(biāo)已按下”;當(dāng)釋放按鍵時(shí),顯示“鼠標(biāo)已釋放”。你必須具體定義接口MouseListener的( )方法。(選擇兩項(xiàng))
A、mouseClicked
B、mouseEntered
C、mouseExited
D、mousePressed
E、mouseReleaseed
36、JAVA中,為了辨別用戶(hù)關(guān)閉窗口的時(shí)間,要實(shí)現(xiàn)監(jiān)聽(tīng)機(jī)器接口( )。(選擇一項(xiàng))
A、MouseListener
B、ActionListener
C、WindowListener
D、以上都要
37、在Java語(yǔ)言中,當(dāng)一個(gè)類(lèi)的某個(gè)變量聲明為protected時(shí)下列說(shuō)法正確的是( )。(選擇兩項(xiàng))
A、只有同一類(lèi)中的成員才能訪問(wèn)它
B、不同包中的任何其他類(lèi)都能夠訪問(wèn)它
C、同包中的任何其他類(lèi)能夠訪問(wèn)它
D、不同包中的子類(lèi)可以訪問(wèn)該變量
38、在Java事件處理模型中,當(dāng)按下鼠標(biāo)按鈕時(shí),處理( )事件。(選擇一項(xiàng))
A、mouseReleased
B、mouseExited
C、mousePressed
D、mouseDown
39、 String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String("0"); 上面是JAVA程序的一些聲明,以下選項(xiàng)中能夠通過(guò)編譯的是( )。(選擇一項(xiàng))
A、a) s3=s1+s2
B、b) s3=s1&s2
C、c) s3=s1||s2
D、d) s3=s1&&s2
40、在Java中,調(diào)用Math.random( ) 方法可能返回的結(jié)果是( )。(選擇一項(xiàng))
A、132.34
B、0.342
C、29.34E10
D、1.0009
41、 在Java語(yǔ)言中,Panel默認(rèn)的布局管理器是( )。(選擇一項(xiàng))
A、BorderLayout
B、FlowLayout
C、GridLayout
D、GridBagLayout
42、public class MyClass1 { public static void main(String argv[]){} ______class MyInner{} } 在以上Java代碼的橫線上,可放置( )修飾符。(選擇兩項(xiàng))
A、public
B、private
C、implements
D、friend
43、在java中,下列賦值語(yǔ)句正確的是( )。(選擇二項(xiàng))
A、char c=a;
B、char c="a";
C、char c=97;
D、char c=new Character(a);
44、與傳統(tǒng)的過(guò)程編程不同,面向?qū)ο蠓椒ǖ闹饕枷胧牵?)。(選擇兩項(xiàng))
A、真實(shí)反映用戶(hù)的實(shí)際需求
B、將現(xiàn)實(shí)世界的一切抽象為實(shí)體或?qū)ο?/p>
C、將現(xiàn)實(shí)世界細(xì)分為一個(gè)過(guò)程化實(shí)現(xiàn)
D、將軟件組織成為對(duì)象的集合,將數(shù)據(jù)結(jié)構(gòu)和行為結(jié)合在一起
45、在Java中,根據(jù)你的理解,下列方法( )可能是類(lèi)Orange的構(gòu)造方法。(選擇3項(xiàng))
A、Orange( ){}
B、Orange( ){}
C、Public void Orange( ){}
D、Public Orange( ){}
E、Public Orange Constuctor( ){}
46、45.在Java中,( )借口位于集合框架的頂層. (選擇一項(xiàng))
A、Map
B、Collection
C、Set
D、List
47、給定某java程序片段,如下: int i=1; int j=i++; if((i>++j)&&(i++==j)) i+=j; System.out.println(i); 該程序運(yùn)行后,i的輸出結(jié)果為( )。(選擇一項(xiàng))
A、1
B、2
C、3
D、4
48、在Java中,假設(shè)我們有一個(gè)實(shí)現(xiàn)ActionListener接口的類(lèi),以下方法中( )能夠?yàn)橐粋(gè)Button類(lèi)注冊(cè)這個(gè)類(lèi)。(選擇一項(xiàng))
A、addListener( )
B、addActionListener( )
C、addButtonListener( )
D、setListener( )
49、44.在JAVA中的布局管理器,以下說(shuō)法中錯(cuò)誤的是( ). (選擇一項(xiàng))
A、FlowLayout以由上到下的方式從左到右排列組件
B、BorderLayout使用 "東"."西"."南"."北","居中"來(lái)指定組件的位置
C、GridLayout可以創(chuàng)建網(wǎng)格布局,網(wǎng)格布局中各組的大小可以任意調(diào)整
D、可以通過(guò)容器的setLayout方法為容器指定布局管理
50、研究下面的Java代碼: public class testException{ public static void main(String args[]){ int n[]={0,1,2,3,4}; int sum=0; try { for(int i=1;i<6;i++) sum=sum+n[i]; System.out.println("sum="+sum); } catch(ArrayIndexOutOfBoundsExpception e) { System.out.println("數(shù)組越界"); } finally{System.out.println("程序結(jié)束");} } } 輸出結(jié)果將是( )。(選擇一項(xiàng))
A、10 數(shù)組越界 程序結(jié)束
B、10 程序結(jié)束
C、數(shù)組越界 程序結(jié)束
D、程序結(jié)束
1、在java中如果聲明一個(gè)類(lèi)為final,表示什么意思?
答:final是最終的意思,final可用于定義變量、方法和類(lèi)但含義不同,聲明為final的類(lèi)不能被繼承。
2、父類(lèi)的構(gòu)造方法是否可以被子類(lèi)覆蓋(重寫(xiě))?
答:父類(lèi)的構(gòu)造方法不可以被子類(lèi)覆蓋,因?yàn)楦割?lèi)和子類(lèi)的類(lèi)名是不可能一樣的。
3、請(qǐng)講述String 和StringBuffer的區(qū)別。
答:String 類(lèi)所定義的對(duì)象是用于存放“長(zhǎng)度固定”的字符串。
StringBuffer類(lèi)所定義的對(duì)象是用于存放“長(zhǎng)度可變動(dòng)”的字符串。
4、如果有兩個(gè)類(lèi)A、B(注意不是接口),你想同時(shí)使用這兩個(gè)類(lèi)的功能,那么你會(huì)如何編寫(xiě)這個(gè)C類(lèi)呢?
答:因?yàn)轭?lèi)A、B不是接口,所以是不可以直接繼承的,但可以將A、B類(lèi)定義成父子類(lèi),那么C類(lèi)就能實(shí)現(xiàn)A、B類(lèi)的功能了。假如A為B的父類(lèi),B為C的父類(lèi),此時(shí)C就能實(shí)現(xiàn)A、B的功能。
5、結(jié)合Java視頻Lesson5(多線程),分析sleep( )和wait( )方法的區(qū)別。
答: Sleeping睡眠的意思 : sleep( ) 方法用來(lái)暫時(shí)中止執(zhí)行的線程。在睡眠后,線程將進(jìn)入就緒狀態(tài)。
waiting等待的意思: 如果調(diào)用了 wait( ) 方法,線程將處于等待狀態(tài)。用于在兩個(gè)或多個(gè)線程并發(fā)運(yùn)行時(shí)。
6、談?wù)勀銓?duì)抽象類(lèi)和接口的理解。
答:定義抽象類(lèi)的目的是提供可由其子類(lèi)共享的一般形式、子類(lèi)可以根據(jù)自身需要擴(kuò)展抽象類(lèi)、抽象類(lèi)不能實(shí)例化、抽象方法沒(méi)有函數(shù)體、抽象方法必須在子類(lèi)中給出具體實(shí)現(xiàn)。他使用extends來(lái)繼承。
接口:一個(gè)接口允許一個(gè)類(lèi)從幾個(gè)接口繼承而來(lái),Java 程序一次只能繼承一個(gè)類(lèi)但可以實(shí)現(xiàn)幾個(gè)接口,接口不能有任何具體的方法,接口也可用來(lái)定義可由類(lèi)使用的一組常量。其實(shí)現(xiàn)方式是interface來(lái)實(shí)現(xiàn)。
華為java筆試題目 2
一、單項(xiàng)選擇題(共10題,每題2分,共20分)
1. 下列說(shuō)法哪一個(gè)是正確的。( B )
A.Java程序經(jīng)編譯后會(huì)產(chǎn)生machine code
B.Java程序經(jīng)編譯后會(huì)產(chǎn)生byte code
C.Java程序經(jīng)編譯后會(huì)產(chǎn)生DLL
D.以上都不正確
2. 提供Java存取數(shù)據(jù)庫(kù)能力的包是。( A )
A.java.sql B.java.awt C.java.lang D.java.swing
3. 執(zhí)行如下程序代碼后,C的值是。( C )
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
A.0 B.1 C.-1 D.死循環(huán)
4. 下面的語(yǔ)句中正確的表達(dá)式為。( C )
A.byte b = 128;
B.boolean n = null;
C.double d = 0.9239d;
D.float f = 0.9239;
5. 將一個(gè)十六進(jìn)制值賦給一個(gè)long型變量的正確寫(xiě)法為。( D )
A.long number = 345L;
B.long number = 0345;
C.long number = 0345L;
D.long number = 0x345L;
6. 以下程序代碼的輸出是。( B )
public class test (
public static void main (String args[]) (
System.out.printIn (6 ^ 3);
)
)
A.3 B.5 C.6 D.11
7. 以下程序代碼的輸出是。(E )
public class test (
private static int j = 0;
private static boolean methodB(int k) (
j += k;
return true;
)
public static void methodA(int i) {
boolean b:
b = i < 10 | methodB (4);
b = i < 10 || methodB (8);
)
public static void main (String args[] } (
methodA (0);
system.out.printIn(j);
)
)
A.0 B.4 C.8 D.12 E.不能編譯通過(guò)
8. 以下程序代碼的輸出是。( A)
public class test {
public static void add3 (Integer i) }
int val = i.intValue ( );
val += 3;
i = new Integer (val);
}
public static void main (String args [ ] ) {
Integer i = new Integer (0);
add3 (i);
system.out.printIn (i.intValue ( ) );
}
)
A.編譯失敗 B.編譯成功但在第三行會(huì)出現(xiàn)異常 C.0 D.3
9. 以下程序代碼執(zhí)行后,哪個(gè)說(shuō)法正確?( B )
int index = 1;
boolean[] test = new Boolean[3];
boolean foo= test [index];
A.有異常拋出。
B.無(wú)法編譯。
C.foo的值是0。
D.foo的值是null。
E.foo的值是true。
F.foo的值是false。
10. 以下哪個(gè)類(lèi)是swt包中的。( D )
A.MessageBox B.MessageDialog C.JDialog D.DisplayMode
二、多項(xiàng)選擇題(共5題,每題4分,共20分)
1. 在下面的選項(xiàng)中合法的標(biāo)識(shí)符有。( ADEF )
A._ok
B.*point
C.this
D.$byte
E.const
F.ILikeJLCSS
2. 下面的選項(xiàng)中哪些不是java的關(guān)鍵字。( AB D )
A.TRUE
B.sizeof
C.goto
D.const
E.super
F.void
3. 下面的敘述中正確的有。( AC )
A. 環(huán)境變量可在編譯source code時(shí)指定。
B. 在編譯程序時(shí),所能指定的環(huán)境變量不包括class path。
C. javac一次可同時(shí)編譯數(shù)個(gè)Java源文件。
D. javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)。
4. 下面的敘述中正確的.有。( C )
A.equals()方法判定引用值是否指向同一對(duì)象。
B.= = 操作符判定兩個(gè)分立的對(duì)象的內(nèi)容和類(lèi)型是否一致。
C.equals()方法只有在兩個(gè)對(duì)象的內(nèi)容一致時(shí)返回true。
D.類(lèi)File重寫(xiě)方法equals()在兩個(gè)分立的對(duì)象的內(nèi)容和類(lèi)型一致時(shí)返回true。
5. 下面有關(guān)變量及其作用域的陳述哪些是對(duì)的。( A C )
A. 在方法里面定義的局部變量在方法退出的時(shí)候被撤銷(xiāo)。
B. 局部變量也叫自動(dòng)變量。
C. 在方法外面定義的變量(譯注:即實(shí)例變量)在對(duì)象被構(gòu)造時(shí)創(chuàng)建。
D. 在方法中定義的方法的參變量只要該對(duì)象被需要就一直存在。
三、簡(jiǎn)答題(共7題,共40分)
1. 請(qǐng)寫(xiě)出一個(gè)輸出“Hello World!” 的程序。(3分)
答:public Class Hello World
{
Public static void main(String[]args)
{
System.out.println(“HELLO WOTLD”);
}
}
2. char型變量中能不能存貯一個(gè)中文漢字? 為什么? (3分)
答:能存儲(chǔ)一個(gè)漢字;因?yàn)樗艽鎯?chǔ)四個(gè)字節(jié)而每個(gè)漢字只占兩個(gè)字節(jié)。
3. 常見(jiàn)的兩種xml解析技術(shù)是什么? 區(qū)別是什么? (4分)
答:常見(jiàn)的兩種有:SAX和DOM。
區(qū)別:SAX 是一種事件驅(qū)動(dòng)的xml解析方式。每次訪問(wèn)一個(gè)xml文件中的某個(gè)節(jié)點(diǎn)的時(shí)候,sax就會(huì)搜索一遍xml文件,在找到相應(yīng)的節(jié)點(diǎn)后就會(huì)觸發(fā)一個(gè)事件來(lái)處理請(qǐng)求。只讀
DOM是一種基于樹(shù)狀的查找方式。DOM會(huì)將xml解析成一棵樹(shù),存在內(nèi)存中。開(kāi)發(fā)者可以通過(guò)查找樹(shù)的節(jié)點(diǎn)來(lái)取得文件的內(nèi)容或者修改內(nèi)容。可讀寫(xiě)
4. MVC是什么,如何實(shí)現(xiàn)? (5分)
答:MVC是一個(gè)是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入,處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分為三個(gè)核心部件:M----------MODO模型,V ----------VIEW 試圖,C --------- Contral控制
實(shí)現(xiàn):首先有頁(yè)面(jsp)發(fā)送請(qǐng)求給控制器(servlet),然后由控制器接收用戶(hù)的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型(javabean)來(lái)進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來(lái)處理用戶(hù)的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層顯示給用戶(hù)。
5. .J2EE是什么?(6分)
答:J2EE 是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級(jí)應(yīng)用模型 (enterpriese application model).在這樣的一個(gè)應(yīng)用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計(jì)算機(jī)上,并且處于相應(yīng)的層次(tier)中。所屬層次包括客戶(hù)層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
6. jsp有哪些內(nèi)置對(duì)象?作用分別是什么? (9分)
答:1.request 用戶(hù)端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù);2.response 網(wǎng)頁(yè)傳回用戶(hù)端的回應(yīng);3.pageContext 網(wǎng)頁(yè)的屬性是在這里管理;4.session 與請(qǐng)求有關(guān)的會(huì)話期;5.application servlet 正在執(zhí)行的內(nèi)容;6.out 用來(lái)傳送回應(yīng)的輸出;7.config servlet的構(gòu)架部件;8.page JSP網(wǎng)頁(yè)本身;9.exception 針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外
7. 作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別 ?(10分)
答:作用域 當(dāng)前類(lèi) 同一package 子孫類(lèi) 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不寫(xiě)時(shí)默認(rèn)為friendly
四、編碼及論述題(共2題,每題10分,共20分)
1. 什么是Singleton,它的作用是什么,它有幾種形式?請(qǐng)用代碼寫(xiě)出一個(gè)Singleton類(lèi)。
答:Java Singleton 模式用來(lái)保證在運(yùn)行的應(yīng)用程序中,一個(gè)Class只是實(shí)例化一次,也就是只有一個(gè)相應(yīng)的對(duì)象存在。
它有三種形式
public class Singleton
{
private static Singleton instance = null;
public static synchronized Singleton getInstance()
{
if (instance==null)
instance=new Singleton();
return instance;
}
}
2. 在Struts + Spring + Hibernate的組合框架模式中,三者各自的特點(diǎn)都是什么?
答:Strtus WEB層 Spring是業(yè)務(wù)層 Hiebenate是持久化層
【華為java筆試題目】相關(guān)文章:
華為的筆試題目04-01
華為筆試題目11-06
華為Java筆試題一12-12
華為Java筆試題一11-21
華為java筆試題及分析07-31
華為筆試題目回憶10-13
華為文秘筆試題目11-04
華為硬件筆試技術(shù)題目11-06
Java基礎(chǔ)筆試題目10-26