1、 技术改变世界 创新驱动发展 您的未来就是我们的未来 北润 JAVA 考核 -面向对象 第一部分 英语测试(每题分,共分) 第二部分 知识点测试(分) 一、选择题(每题 2 分,共 110 分) 1 下面关于变量及其作用范围的陈述哪个是不对的 ?( B ) A实例变量是类的成员变量。 B实例变量用关键字 static 声明。 C在方法中定义的局部变量在该方法被执行时创建。 D局部变量在使用前必须被初始化。 2 下面哪条语句把方法声明为抽象的公共方法 ?( B ) A public abstract method(); B public abstract void method(); C pub
2、lic abstract void method() D public void method() extends abstract; 3若在某一个类定义中定义有如下的方法: final void aFinalFunction( )则该方法属于 ( C ) 。 A、本地方法 B、 静 态方法 C、最终方法 D、抽象方法 4 main 方法是 Java Application 程序执行的入口点,关于 main 方法的方法头以下哪项是合法的 ( B ) 。 A、 public static void main() B、 public static void main(String args) C、
3、 public static int main(String args) D、 public void main(String arg ) 5 在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为 ( C ) 。 A、隐藏 B、覆盖 C、重载 D、 Java 不支持此特性 6 下列关于构造方法的叙述中,错误的是 ( C ) A Java 语言规定构造方法名与类名必须相同 B Java 语言规定构造方法没有返回值,但不用 void 声明 C Java 语言规定构造方法不可以重载 D Java 语言规定构造方
4、法只能通过 new 自动调用 技术改变世界 创新驱动发展 您的未来就是我们的未来 7 关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是 ( C ) A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在 其 他包中的该类的子类 B可以被两种类访问和引用:该类本身、该类的所有子类 C只能被该类自身所访问和修改 D只能被同一个包中的类访问 8 类 Test1 定义如下: 1. public class Test1 2 public floataMethod(float a, float b) 3 4 将以下哪种方法插入行 3 是不合法的 。 ( B ) A、 publi
5、c float aMethod( float a,floatb,float c) B、 public float aMethod( float c,floatd) C、 public int aMethod( int a,intb) D、 private float aMethod( inta,intb,intc) 9 阅读以下代码: public class foo public static void main (String args) String s; System.out.println(“s=“ + s); 输出结果应该是: ( C ) A代码得到编译,并输出 “s=” B代码得
6、到编译,并输出 “s=null” C由于 String s 没有初始化,代码不能编译通过 D代码得到编译,但捕获 NullPointException 异常 解析: 局部变量必须显示的初始化。引用类型变量初始化时如果没有具体对象引用,可技术改变世界 创新驱动发展 您的未来就是我们的未来 以初始化为 null。 10 下述概念中不属于面向对象 这种编程 范畴 的是 ( D )。 A对象、消息 B继承、多态 C类、封装 D过程调用 11 编译并运行以下程序,以下描述哪个选项是正确的 ( A )。 1. class A 2. protected String toString() 3. return
7、 super.toString(); 4. A、行 2 出错,不能成功编译 B、编译通过但运行时出错 C、编译通过运行无异常 D、不能成功编译,行 3 出错 解析:方法重写时没有满足访问权限控制符要比父类的大或者相同 。 12 假设 Foo 类有如下定义,设 f 是 Foo 类的一个实例,下列语句调用哪个是错误的? ( A ) public class Foo int i; static String s; void imethod() static voidsmethod() A、 Foo.imethod(); B、 f.imethod(); C、 System.out.println(f.
8、i); D、 Foo.smethod() 13 以下哪个接口的定义是正确的? ( D ) A、 interface A void print() ; B、 abstract interface A void print() ; C、 abstract interface A extends I1, I2 /I1、 I2 为已定义的接口 abstract void print() ; D、 interface A 技术改变世界 创新驱动发展 您的未来就是我们的未来 void print(); 解析: 接口定义时语法规定上是不需要加 abstract 的,因为接口本身就是 abstract的, j
9、ava 编译器在编译接口时会自动加上 abstract。 但是我们显示的加上 abstract 是不会出现问题,不建议加。 此处选项 B 和 C 可以认为不正确。 14 关于以下程序段,正确的说法是 ( C ) 1 String s1=“a”+“b”; 2 String s2=new String( s1); 3 if( s1=s2) 4 System.out.println(“= = is succeeded”); 5 if (s1.equals(s2) 6 System.out.println(“.equals() is succeeded”); A行 4 与行 6 都将执行 B行 4 执
10、行,行 6 不执行 C行 6 执行,行 4 不执行 D行 4、行 6 都不执行 15 下面程序运行结果为: ( D,如果输出 count 则为 A) public class test3 public static void main(String args) int count=0; for (int i=0;i=100;i+) count+=count+; A 0 B 7 C 编译有错误 D 其他答案 16 下面哪个函数是 public void aMethod().的重载函数? ( D ) A、 void aMethod( ). B、 public int aMethod(). C、 p
11、ublic void aMethod ( ). D、 public int aMethod ( int m). 17 下面关于继承的哪些叙述是正确的 ?( D ) 技术改变世界 创新驱动发展 您的未来就是我们的未来 A在 java 中允许 多 继承。 B 在 java 中一个类只能实现一个接口。 C 在 java 中一个类不能同时继承一个类和实现一个接口。 D java 的单一继承使代码更可靠。 18 运行下面程序段的结果是: ( D )。 public class MyMain public static void main(String args) System.out.println(“
12、Hello Java”); A正常输出 Hello Java B编译时出错 C运行时出错 D. 以上答案都不对 19 类与对象的关系是 ( A )。 A.类是对象的抽象 B.类是对象的具体实例 C.对象是类的抽象 D.对象是类的子类 20 下列关于修饰符混用的说法,错误的是 ( BD )。 A. abstract 不能与 final 并列修饰同一个类 B. abstract 类中不可以有 private 的成员 C. abstract 方法必须在 abstract 类中 D. static 方法中能处理非 static 的属性 解析: abstract类中可以有 private的成员 ,只是它
13、的 private成员不能被继承,所以在 abstract类 中定义 private 成员没有意义。 21 编译并运行下述程序段的结果是: ( B )。 public class Test public static void main(String argv) int count = new int4; System.out.println(count4); 技术改变世界 创新驱动发展 您的未来就是我们的未来 A 编译时错误 B 运行时错误 C 输出 0 D 输出 null 22 下面是有关子类继承父类构造函数的描述,其中正确的是 ( CD)。 A 创建子类的对象时 , 先调用子类自己的构造
14、函数,然后调用父类的构造函数。 B 子类无条件地继承父类不含参数的构造函数。 C 子类必须通过 super 关键字调用父类的构造函数。 D 子类无法继承父类的构造函数。 解析: 子类无法继承父类的构造器,但有时候可以使用 super 调用父类构造器中的初始化代码。 在继承关系中一定要确保 构造器的 上溯链不得中断,否则会出错。 23 下列类的定义中,错误的是 ( B )。 A class x . B public x extends y . C public class x extends y . D class x extends y implements y1 . 24 A 派生出子类 B
15、 , B 派生出子类 C,并且在 Java 源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的? ( D ) A 只有第 1 行能通过编译 B 第 1、 2 行能通过编译,但第 3 行编译出错 C 第 1、 2、 3 行能通过编译,但第 2、 3 行运行时出错 D 第 1 行、第 2 行和第 3 行的声明都是正确的 25 运行下列程序的结果是 ( C ) 技术改变世界 创新驱动发展 您的未来就是我们的未来 abstract class MineBase abstract void amethod(
16、); static int i; public class Mine extends MineBase public static void main(String argv) int ar = new int5; for (i = 0; i ar.length; i+) System.out.println(ari); A 打印 5 个 0 B 编译出错,数组 ar必须初始化 C 编译出错, Mine 应声明为 abstract D 出现 IndexOutOfBoundes 的例外 26 编译并运行以下程序段的结果是: ( A ) public class MyClass final sta
17、tic int i; MyClass()i =0; public static void main(String args) System.out.println(i); A 编译出错 B null C 1 D 0 解析: final 修饰的成员变量(静态成员原理和实例成员变量)必须显示初始化。静态成员变量可以在声明时或静态初始化代码块显示初始化;实例成员变量可以在声明时、初始化代码块或构造器中显示初始化。 27 下面方法中的 “返回类型 Type”应该是什么? ( A ) public class ReturnIt returnTypemethodA(byte x, double y) 技术
18、改变世界 创新驱动发展 您的未来就是我们的未来 return (short)x / y * 2; A double B. int C. byte D. short 28 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的 ?( C ) A、 public B、 private C、 static D、 final 29 下面关于 java 中类的说法哪个是不正确的 ?( AC ) A 类体中只能有变量定义和成员方法的定义,不能有其他语句。 B 构造函数是类中的特殊方法。 C 类一定要声明为 public 的,才可以执行。 D 一个 java 文件中可以有多个 class 定义。 30 下列
19、哪个类声明是正确的 ? ( D) A abstract final class H1 B abstract private move() C protected private number; D public abstract class Car 31 方法重载是指 ( A ) A 两个或两个以上的方法取相同的方法名,但形参的个数或类型不同 B 两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同 C 两个以上的方法名字不同,但形参的个数或类型相同 D 两个以上的方法取相同的方法名,并且方法的返回类型相同 32 指出下列程序运行的结果 ( B ) public class E
20、xample String str=new String(“good“); charch=a,b,c; public static void main(String args) Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+“ and “); 技术改变世界 创新驱动发展 您的未来就是我们的未来 Sytem.out.print(ex.ch); public void change(String str,charch) str=“test ok“; ch0=g; A good and abc B
21、 good and gbc C test ok and abc D test ok and gbc 33 下列哪些语句关于内存回收的说明是正确的 ?( B ) A 程序员必须创建一个线程来释放内存 B 内存回收程序负责释放无用内存 C 内存回收程序允许程序员直接释放内存 D 内存回收程序可以在指定的时间释放内存对象 34 MAX_LENGTH 是 int 型 public 成员变量 , 变量值保持为常量 100,用简短语句定义这个变量。 ( CD ) A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100; C、 final publ
22、ic int MAX_LENGTH=100; D、 public final int MAX_LENGTH=100; 35 给出下面代码: 1) class Parent 2 private String name; 3 public Parent() 4 5) public class Child extends Parent 6 private String department; 7 public Child() 8 public String getValue() return name; 技术改变世界 创新驱动发展 您的未来就是我们的未来 9 public static void m
23、ain(String arg) 10 Parent p = new Parent(); 11 12 那些行将引起错误? ( D ) A、 第 3 行 B、 第 6 行 C、 第 7 行 D、 第 8 行 36 类 Teacher 和 Student 是类 Person 的子类; Person p; Teacher t; Student s; /p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 最后一句语句的结果是: ( B ) A、 将构造一个 Student 对象; B、 表达式是合法的; C、 表达式是
24、错误的; D、 编译时正确,但运行时错误。 解析:考查 instanceof 和继承中 的强制转换。 t instanceof Person 表达式是正确的。s = (Student)t;这句转换 编译是 错误的。 37 给出下面代码段 1) public class Test 2) int m, n; 3) public Test() 4) public Test(int a) m=a; 5) public static void main(String arg) 6) Test t1,t2; 7) intj,k; 8) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11)
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。