华为java面试题

clark_ms 贡献于2012-02-14

作者 User  创建于2010-03-14 04:46:00   修改者User  修改于2010-09-22 13:21:00字数5140

文档摘要:华为java面试题
关键词:

 2.华为java面试题 1.下面哪些类可以被继承? java.lang.Thread (T)   java.lang.Number (T) java.lang.Double (F) java.lang.Math (F) java.lang.Void (F)    java.lang.Class (F) java.lang.ClassLoader (T) 1.Java是从( )语言改进重新设计. 答案:B A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确( ) 答案:B   A. Java程序经编译后会产生machine code   B. Java程序经编译后会产生byte code   C. Java程序经编译后会产生DLL   D. 以上都不正确 3.下列说法正确的有( ) 答案:C   A.class中的constructor不可省略   B.constructor必须与class同名,但方法不能与class同名   C.constructor在一个对象被new时执行  D. 一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( ) 答案:A   A.java.sql B.java.awt C.java.lang D.java.swing 5.下列运算符合法的是( ) 答案:A   A.&& B.<> C.if D.:= 6.执行如下程序代码 答案:C    a=0;c=0; do{    --c;    a=a-1; }while(a>0); 后,C的值是( ): A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( ) 答案D   A. abstract修饰符可修饰字段、方法和类   B.抽象方法的body部分必须用一对大括号{ }包住   C. 声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( ) 答案:A   A. 形式参数可被视为local variable    B. 形式参数可被字段修饰符修饰   C. 形式参数为方法被调用时,真正被传递的参数 D. 形式参数不可以是对象 9.下列哪种说法是正确的( ) 答案:D   A. 实例方法可直接调用超类的实例方法  B. 实例方法可直接调用超类的类方法 C. 实例方法可直接调用其他类的实例方法 D. 实例方法可直接调用本类的类方法 1.Java程序的种类有( )   A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( ) 答案:BCD   A. 环境变量可在编译source code时指定  B. 在编译程序时,所能指定的环境变量不包括class path   C. javac一次可同时编译数个Java源文件  D. javac.exe能指定编译结果要置于哪个目录(directory) 3.下列标识符不合法的有( ) 答案:ACD   A.new B.$Usdollars C.1234 D.car.taxi 4.下列说法错误的有( ) 答案:BCD   A. 数组是一种对象    B. 数组属于一种原生类   C. int number=[]={31,23,33,43,35,63}   D. 数组的大小可以任意改变 5.不能用来修饰interface的有( ) 答案:ACD   A.private B.public C.protected D.static 6.下列正确的有( ) 答案:ACD   A.call by value不会改变实际参数的数值   B.call by reference能改变实际参数的参考地址   C.call by reference不能改变实际参数的参考地址  D.call by reference能改变实际参数的内容 7.下列说法错误的有( ) 答案:ACD   A. 在类方法中可用this来调用本类的类方法  B. 在类方法中调用本类的类方法时可直接调用   C. 在类方法中只能调用本类中的类方法   D. 在类方法中绝对不能调用实例方法 8.下列说法错误的有( ) 答案:ABC   A. Java面向对象语言容许单独的过程与函数存在  B. Java面向对象语言容许单独的方法存在 C. Java语言中的方法属于类中的成员(member) D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同 9.下列说法错误的有( )  答案:BCD   A. 能被java.exe成功运行的java class文件必须有main()方法   B. J2SDK就是Java API  C. Appletviewer.exe可利用jar选项运行.jar文件   D. 能被Appletviewer成功运行的java class文件必须有main()方法 1.Java程序中的起始类名称必须与存放该类的文件名相同。( ) 答案:正确 2.Unicode是用16位来表示一个字的。( ) 答案:正确 3.原生类中的数据类型均可任意转换。( ) 答案:错误 QUESTION NO: 1 publicclass Test1 { publicstaticvoid changeStr(String str){ str="welcome"; } publicstaticvoid main(String[] args) { String str="1234"; changeStr(str); System.out.println(str); } } //输出结果:1234。这里虽然是一个静态方法,但是里面的变量是一个局部变量,所以这里不因为是静态方法,就误认为里面的变量也是静态变量了 QUESTION NO:2 publicclass Test2 { static boolean foo(char c) { System.out.print(c); returntrue; } publicstaticvoid main(String[] argv) { int i = 0; for (foo('A'); foo('B') && (i < 2); foo('C')) { i++; foo('D'); } } } What is the result? //输出结果是:ABDCBDCB A. ABDCBDCB B. ABCDABCD C. Compilation fails. D. An exception is thrown at runtime. 分析:FOR循环里面讲究的条件要为真,与你的判断式是什么没有关系,就像这里,虽然是打印的字母,但是却不是false,所以可以执行。 第一次进行循环: foo('A')打印字母A,(注:这里不是false条件就默认为true条件) foo('B')打印字母B,i=0,比较(i < 2),条件为true,进行循环体,foo('D')打印D foo('C')打印字母C 第二次循环: foo('B')打印B,i=1,比较(i < 2)为true,进行循环体,foo('D')打印D foo('C')打印字母C 第三次循环: foo('B')打印字母B,i=2,比较(i < 2)为false,退出循环,得结果 QUESTION NO: 3 class A { protected int method1(int a, int b) { return 0; } } Which two are valid in a class that extends class A? (Choose two) A. public int method1(int a, int b) { return 0; } B. private int method1(int a, int b) { return 0; } C. private int method1(int a, long b) { return 0; } D. public short method1(int a, int b) { return 0; } E. static protected int method1(int a, int b) { return 0; } Public class B extends A{ //can not reduce the visibility of the inherited method from A //即不能够使从类A中继续来的方法的可见性降低 //private int method1(int a, int b) { return 0; } //This static method cannot hide the instance method from A //静态方法不能够隐藏继承于A的实例 //static protected int method1(int a, int b) { return 0; } //返回类型与A中的该方法不一致 //public short method1(int a, int b) { return 0; } /** *总结:类的继承中,如果要想重载父类的方法,必须要和父类中的返回类型、可见性等等都要操作一致 *否则,程序就会报错。一定遵守子类要遵从于父类的原则 *而我选择的答案居然是privateintmethod1和staticprotectedint *我选择第一个的错误理由是:因为原来为保护的,如果我这里设为public,那么就扩展了其原来的可见性 *本来原来就是对包外不可见的,现在变成对包外可见的了,所以就选择的是private *选择第二个的错误理由是:都是保护的,这里只是变成了静态的而已 */ //这里是写了一个重载方法,因为参数类型不一致,不会报错 private int method1(int a, long b) { return 0; } //可见性可以增大,但是不能够缩小,正确 public int method1(int a, int b) { return 0; } public static void main(String[] args) { // TODO Auto-generated method stub } } QUESTION NO: 4 1.public class Outer{ 2. public void someOuterMethod() { 3. // Line 3 4. } 5. public class Inner{} 6. public static void main( String[]argv ) { 7. Outer o = new Outer(); 8. // Line 8 9. } 10. } Which instantiates an instance of Inner? A. new Inner(); // At line 3 B. new Inner(); // At line 8 C. new o.Inner(); // At line 8 D. new Outer.Inner(); // At line 8//new Outer().new Inner() 答案如下: public class Outer { public void someOuterMethod() { // Line 3 new Inner();//放在这里不出错 } public class Inner { } public static void main(String[] argv) { Outer o = new Outer(); // Line 8 //o不能够被解释成为一种类型,出错 //new o.Inner(); /** *下面两种用法,都报下面的错误: *No enclosing instance of type Outer is accessible. *Must qualify the allocation with an enclosing instance *of type Outer(e.g.x.newA() where x is an instance of Outer) */ //new Outer.Inner(); //new Inner(); } } QUESTION NO: 5 Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?(译:那个方法是servlet用于将其session ID入在一个URL中,该URL写入servlet的响应输出流) A. The encodeURL method of the HttpServletRequest interface. B. The encodeURL method of the HttpServletResponse interface. C. The rewriteURL method of the HttpServletRequest interface. D. The rewriteURL method of the HttpServletResponse interface. QUESTION NO: 6 Which two are equivalent? (Choose two) A. <%= YoshiBean.size%> B. <%= YoshiBean.getSize()%> C. <%= YoshiBean.getProperty("size")%> D. E. F. G.

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 8 人已下载

下载文档