
第三单元面向对象技术 一。选择题 1.对象使用时,下面描述错误的是() (》通过“,”运算符调用成员变量和方法 )通过成员变量的访月权限设定限制自身对这些变量方法的调用 C)将一个对象申明为类的咸员时,必须在使用前为其分配内存 )在方法中使用对象作为参数时,采用引用调用 2.给出如下代码: class Test( private int m: public static void fum() f∥some code.- 如何使成员变量■被函数fun0直接访问() (》将private int m改为rotected int■ )将private int m改为ublic int口 (C)将private int n改为static int n D)将rivate int m改为nt■ 3下列哪些语句关于内存回收的说明是正确的() 》程序员必须创建一个线程来释做内存! 内存国收程序负责释故无用内存 C)内存目收程序允许程序员直接释放内存 )内存目收程序可以在指定的时间释放内存对象 4A钱GTH是int型ub1iG成员变量,变量值保持为常量1O们,用简短语句定义这 个变量。() (A)public int MAX_LENGTH=100: (B)final int MAX_LENGTH=100: (C)final public int MAX LENGTH-100;
第三单元 面向对象技术 一.选择题 1.对象使用时,下面描述错误的是( ) (A)通过“.”运算符调用成员变量和方法 (B)通过成员变量的访问权限设定限制自身对这些变量方法的调用 (C)将一个对象申明为类的成员时,必须在使用前为其分配内存 (D)在方法中使用对象作为参数时,采用引用调用 2.给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量 m 被函数 fun()直接访问 ( ) (A)将 private int m 改为 protected int m (B)将 private int m 改为 public int m (C)将 private int m 改为 static int m (D)将 private int m 改为 int m 3.下列哪些语句关于内存回收的说明是正确的 ( ) (A) 程序员必须创建一个线程来释放内存; (B) 内存回收程序负责释放无用内存 (C)内存回收程序允许程序员直接释放内存 (D)内存回收程序可以在指定的时间释放内存对象 4.MAX_LENGTH 是 int 型 public 成员变量, 变量值保持为常量 100,用简短语句定义这 个变量。( ) (A) public int MAX_LENGTH=100; (B) final int MAX_LENGTH=100; (C) final public int MAX_LENGTH=100;

D)pub1ief1al1 nt MAX_LENGTH=10风, 反为B类的一个无形式参数无返国值的方法th0d书写方法头,使得使用类名B作 为前缓就可以调用它。该方法头的形式为()。 A》static void method() (B)publie void method() C)final void method() (D)abstract void method() 丘指出下列程序运行的结果() public class Examplef String strmnew String("good"): char[lch=t'a','b','e"l public static void min(String args[]) Example ex"new Exarple(); ex.chande (ex.str,ex.ch): Systen.o陶t.print(ex.str+”and: Syten out.print (ex.ch); public void change(String str.char ch[])[ sr=1est0k”: ch0]-'g': 1 A》good and abc (B間good and gbe (C)test ok and abe (D)test ok and ghe 7,给出下面代列码段 1)public class Test 2)int n.n; 3)publie TestO ( 4)public Test (int a)ma:} 5动public static void main(String arg[])【 6)Test t1,t2: 7)int j.k:
(D) public final int MAX_LENGTH=100. 5.为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作 为前缀就可以调用它,该方法头的形式为( )。 (A) static void method( ) (B) public void method( ) (C) final void method( ) (D) abstract void method( ) 6.指出下列程序运行的结果 ( ) public class Example{ String str=new String("good"); char[]ch={'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,char ch[]){ str="test ok"; ch[0]='g'; } } (A) good and abc (B) good and gbc (C)test ok and abc (D) test ok and gbc 7.给出下面代码段 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) int j,k;

8》j0:k=0: 9)tlenew Test(: 10)12=Test(0.k): 11)) 12) 哪行将明起一个编译时错误?() (》1ine3 (B)line 5 (C)line 6 (D)line 10 &函数重载是指() 因》两个或两个以上的函数取相同的函数名,但形参的个数或类重不同 两个以上的函数取相同的名字和具有相月的参数个数,但形参的类型可以不同 C)两个以上的函数名字不同,但形参的个数或类型相同 )两个以上的函数取相同的函数名,并且函数的返回类型相同 9.构迹方法何时被调用() A)类定文时 )创建对象时 C)调用对象方法时 )使用对象的变量时 10.Java中访问限定符不包括() A》public B》private (C)default D)final 11.定义一个类名为“C1 ass.java”的类,并且该类可被一个工程中的所有类访间, 那么该类的正确声明应为:()】 (A)private class MyClass extends Object (B)class MyClass extends Cbject (C)public class MyClass (D)private class MyClass extends Object 12.内部类是在一个类内嵌套定义的类。其特点描述错误的是() 》只隆在定义它的类或程序段中威表达式内匿名使用,外部使用时必须给出类的全名 )可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部 变量 (C可以作为其它类的成员,而且可访问它所在类的成员
8) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) } 哪行将引起一个编译时错误?( ) (A) line 3 (B) line 5 (C) line 6 (D) line 10 8.函数重载是指 ( ) (A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 (B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 (C)两个以上的函数名字不同,但形参的个数或类型相同 (D)两个以上的函数取相同的函数名,并且函数的返回类型相同 9.构造方法何时被调用( ) (A)类定义时 (B)创建对象时 (C)调用对象方法时 (D)使用对象的变量时 10.Java 中访问限定符不包括( ) (A)public (B)private (C)default (D)final 11.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问, 那么该类的正确声明应为:( ) (A)private class MyClass extends Object (B)class MyClass extends Object (C)public class MyClass (D)private class MyClass extends Object 12.内部类是在一个类内嵌套定义的类。其特点描述错误的是( ) (A)只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名 (B)可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部 变量 (C)可以作为其它类的成员,而且可访问它所在类的成员

D)除static内部类外,不能在类内声明static成员 13.对于下列代码: public class Parent public int addValue(int a.int b)( int 8: 5。atb: return s: 1 1 class Child extends Parent 1 下述哪些方法可以如入类hi1d() (A)int addValue(int a,int b)//do somcthing...] ⑧》public void addValue(iata.fntb){/∥do something,J】 (C)public int addValue(int a )[/do something...) (D)public int addValue(int a.int b )throws MyException (//do something...) 14对子下列代码: i》class Persom【 2)public void printValue(int i,int j)//... 3 public void printValue(iati)/∥,,J 40 5)public class Teacher extends Person 6)public void printValue()(//.. 7)public void printValue(int i)1/...} 8)publie static void main(String args[]){ 9)Person t new Teacher(: 10)t.printValue(10): 11》 第10行语句将调用哪行语句: ()1ie2 (B)line 3
(D)除 static 内部类外,不能在类内声明 static 成员 13.对于下列代码: public class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪些方法可以加入类 Child ( ) (A) int addValue( int a, int b ){// do something...} (B) public void addValue (int a, int b ){// do something...} (C) public int addValue( int a ){// do something...} (D) public int addValue( int a, int b )throws MyException {//do something...} 14.对于下列代码: 1) class Person { 2) public void printValue(int i, int j) {//... } 3) public void printValue(int i){//... } 4) } 5) public class Teacher extends Person { 6) public void printValue() {//... } 7) public void printValue(int i) {//...} 8) public static void main(String args[]){ 9) Person t = new Teacher(); 10) t.printValue(10); 11) } 第 10 行语句将调用哪行语句? (A) line 2 (B) line 3

(C)line 6 (①D011ne7 15.类Teacher和Student是类Person的子类: Person p: Teacher t: Student s: //p,t and s are all mon-null. if(t instanceof Persom)s "(Student)t:} 最后一句语句的结果是: A》将构造一个Student对象: 表达式是合法的: C)表达式是情误的: )编译封正确。阻运行时错误。 16,如果类中的成员变量可以被同一包访间,则使用如下螺个的束符 (A)private (B)public (C)protected (D)no modifier 17.下列哪个类声明是正确的( (A)abstract final class HI {-- (B)abstract private nove(){} (C)protected private mumber: O)public abstract class Car(…】 18.如果任料包中的子类都能访间超类中的成员,都么应使用螺个限定词() (A)public (B)private (C)protected (D)transient 19.运行下列程序的结果是() abstract class MineBase( abstract void amethod(): static int i: public class Mine extends MineBase
(C) line 6 (D) line 7 15.类 Teacher 和 Student 是类 Person 的子类; Person p; Teacher t; Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: (A) 将构造一个 Student 对象; (B) 表达式是合法的; (C) 表达式是错误的; (D) 编译时正确,但运行时错误。 16.如果类中的成员变量可以被同一包访问,则使用如下哪个约束符 (A) private (B)public (C)protected (D)no modifier 17.下列哪个类声明是正确的( ) (A)abstract final class H1{…} (B)abstract private move(){…} (C)protected private number; (D) public abstract class Car{…} 18.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( ) (A)public (B)private (C)protected (D)transient 19.运行下列程序的结果是( ) abstract class MineBase{ abstract void amethod(); static int i; } public class Mine extends MineBase {

public static void main(String argv []) int [armnew int [5] for(i=0:i System.out.printlm (ar [i]) ) 1 0打印5个0 围编译出错,数组ar【门必须初始化 (C)编译出错,Mine应声明为abstract (D)出现IndexDutofBoundes的例外 二。判断题 ()1.抽象类不能实例化 ()2接口名可以作为方法返回值的类型 ()3类A和类B位于同一个包中,则除了彩有成员,类A可以访问类B的所有其他 成员 ()4.内部类都是非静态的 《)5接口中的所有方法都没有被实现 ()&在Ja程序中,通过类的定义只能实现单重推承。 三。填空题 1,继承是 的一个特点,雅承支持 类概念。 2Java语言通过接口支持 维承,使类维承具有更灵活的扩 展性。 3基类的公有成员在派生类中的访付权限由 决定。 4技关健字 修饰的方法是不能被当前类的子类重新定义的方法
public static void main(String argv[]){ int[] ar=new int[5]; for(i=0;i System.out.println(ar[i]); ) } (A)打印 5 个 0 (B)编译出错,数组 ar[]必须初始化 (C)编译出错,Mine 应声明为 abstract (D)出现 IndexOutOfBoundes 的例外 二.判断题 ( )1.抽象类不能实例化 ( )2.接口名可以作为方法返回值的类型 ( )3.类 A 和类 B 位于同一个包中,则除了私有成员,类 A 可以访问类 B 的所有其他 成员 ( )4.内部类都是非静态的 ( )5.接口中的所有方法都没有被实现 ( )6.在 Java 程序中,通过类的定义只能实现单重继承。 三.填空题 1.继承是 的一个特点,继承支持 类概念。 2.Java 语言通过接口支持 继承,使类继承具有更灵活的扩 展性。 3.基类的公有成员在派生类中的访问权限由 决定。 4.被关键字__________修饰的方法是不能被当前类的子类重新定义的方法