Java第三、四章作业
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.java 的单一继承使代码更可靠 18. 已知有下列类的说明,则下列哪个语句是正确的? public class Test { private float f = 1.0f; int m = 12; static int n=1; public static void main(String arg[] ) { Test t = new Test(); } } A.t.f; B.this.n; C.Test.m; D.Test.f; 19 下列代码的执行结果是 public class Test { public int aMethod() { static int i=0; i++; System.out.println(i); } public static void main(String args[] ) { Test test = new Test(); test.aMethod(); } } A.编译错误 B.0 C.1 D.运行成功,但不输出 20 要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符__________。 A、 final B、 public C、 private D、abstract 21 以下代码中,this 是指( )。 class bird{ int x,y; void fly(int x,int y){ this.x=x; this.y=y; } } A、 bird B、 fly C、bird 或 fly D、不一定
二.判断题 ( )1.抽象类不能实例化 ( )2.接口名可以作为方法返回值的类型 ( )3.类 A 和类 B 位于同一个包中,则除了私有成员,类 A 可以访问类 B 的所有其他成员 ( )4.接口中的所有方法都没有被实现 ( )5.在 Java 程序中,通过类的定义只能实现单重பைடு நூலகம்承。 ( )6.在同一个类中,允许存在具有相同方法名和相同参数列表的方法,但是要求方法返回
Java 第三、四章作业
姓名__________ 学号_______________
得分_______
(打印后再做题) 一、选择题 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) 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.给出下面代码段 1) public class Test { 2} int m, n; 3} public Test() {} 4} public Test(int a) { m=a; }
22
Java 用来定义一个类时,所使用的关键字为 ( ) A、class B、public C、struct D、class 或 struct 23 阅读下列代码后 public class Person{ int arr[]=new int[10]; public static void main(String args[]){ System.out.println(arr[1]); } } 正确的说法是 A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 24 .下列构造方法的调用方式中,正确的是____。 A、按照一般方法调用 B、由用户直接调用 C、只能通过 new 自动调用 D、被系统调用 25.在 Java 中,能实现多重继承效果的方式是____。 A、内部类 B、适配器 C、接口 D、同步
5、 什么是多态性?方法的重载和覆盖有何区别? 四、编程题 1、写出一个类 People,并由该类做基类派生出子类 Employee 和 Teacher。其中 People 类具 有 name、age 两个保护成员变量,分别为 String 类型、整型,且具有公有的 getAge 成员函 数,用于返回 age 变量的值。Employee 类具有保护成员变量 empno,Teacher 类有 teano 和 zc 成员变量。
5} public static void main(String arg[]) { 6} Test t1,t2; 7} int j,k; 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 7.函数重载是指 ( ) (A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 (B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 (C)两个以上的函数名字不同,但形参的个数或类型相同 (D)两个以上的函数取相同的函数名,并且函数的返回类型相同 8.构造方法何时被调用( ) (A)类定义时 (C)调用对象方法时 9.Java 中访问限定符不包括( ) (A)public (C)default
(D) public int addValue( int a, int b )throws MyException {//do something...} 12.对于下列代码: 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 (D) line 7 13.类 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) 编译时正确,但运行时错误。 14.如果类中的成员变量可以被同一包访问,则使用如下哪个约束符 (A) private (B)public (C)protected (D)no modifier 15.下列哪个类声明是正确的( ) (A)abstract final class H1{…} (B)abstract private move(){…} (C)protected private number; (D) public abstract class Car{…} 16.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( ) (A)public (B)private (C)protected (D)transient 17 下列关于继承的哪项叙述是正确的? A.在 java 中允许多重继承 B.在 java 中一个类只能实现一个接口 C.在 java 中一个类不能同时继承一个类和实现一个接口
类型不同。 ( )7.抽象方法不能含有方法体,并且必须在抽象类中。 ( )8.为避免混淆,构造函数名字可以不与所属类名同名。 ( )9.可以用 new 来创建一个类的实例,即"对象"。 ( )10. Java 中类的构造函数只能有一个。 ( )11.类的 public 类型的成员变量不可以被继承。 ( )12.break 语句可以用在循环和 switch 语句中。 ( )13.对象是类的一个实例。 ( )14.用 abstract 修饰的类必须被继承。 ( )15.类都能有多个构造方法。 ( )16.子类可以继承父类所有的成员变量及成员函数。 ( )17.Java 类中不能存在同名的两个成员函数。 ( )18.子类必须通过 super 关键字调用父类有参数的构造函数。 三、简答题 1、 请说说什么是类和对象,并描述两者关系。 2、 请说说什么是继承。 3、 Java 定义了几个关键字用于表示几种访问权限?各表示什么含义? 4、 说明类成员与实例成员的区别
(B)创建对象时 (D)使用对象的变量时 (B)private (D)final
10.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该 类的正确声明应为:( ) (A)private class MyClass extends Object (B)class MyClass extends Object (C)public class MyClass (D)private class MyClass extends Object 11.对于下列代码: 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...}