《面向对象程序设计答案.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计答案.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计答案 学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃
2、圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B)
3、 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法
4、,是一个类中方法重载的正确写法( A ) int addValue( int a, int b )return a+b; A) float addValue ( float a, float b) return a+b; B) int addValue (int a, int b )value=a+b; float addValue ( int a, int b) return (float)(a+b); C) int addValue( int a, int b )return a+1; int addValue ( int a, int b) return a+b; D) int addV
5、alue( int a, int b ) return a+b; int addValue ( int x, int y ) return x+y; 9、下列说法哪个是正确的( C ) A) 子类不能定义和父类同名同参数的方法 B) 子类只能继承父类的方法,而不能重载 C) 重载就是一个类中有多个同名但有不同形参和方法体的方法 子类只能覆盖父类的方法,而不能重载D) 10、对于下列代码:public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Pare
6、nt ) B 下述哪个方法不可以加入类Child (public int addValue( int a, int b,int c ). A) public void addValue (int a, int b ). B) public int addValue( int a ). C) public int addValue( int a, int b ) . D) )B 11、以下程序段输出结果的是( public class A implements B public static void main(String args) int i; A c1 = new A(); i= ; i
7、=+i); interface B int k = 10; i=true C) 程序有编译错误D) i=0 A) B) i=10 )B 、阅读下面的程序,输出结果是(12 public class TestDemo int m=5; public void some(int x) m=x; public static void main(String args ) new Demo().some(7); class Demo extends TestDemo int m=8; public void some(int x) (x); A) 5 B) 8 C) 7 D) 编译错误 13、下述哪个
8、说法是不正确的( A ) A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值 类成员变量由系统自动进行初始化,也无需初始化B) 参数的作用域就是所在的方法C) 语句执行完时,该变量就消亡了语句中定义的变量,当forD) for)、下述那一个保留字不是类及类成员的访问控制符。( C 14private B) A) public protected D) C) static 、假设有个类已经定义了下述的实例变量:15int num1=10; int num2=20; String word = new String(“exam”); double answer=; 另外定义了下列方法头:
9、public int stuff(String s, int x, int y) ) A ( 以下哪个选择是正确的方法调用 A)num1=stuff(“hello”,num1,num1); B)answer=stuff(word,answer,num2); num2=stuff(“hello”,num1,answer);C) num1=stuff(num1,num2,word);D) )( C 16、下哪一项不是构造方法的特点: A 构造方法名必须与类名相同; B 构造方法不具有任何返回类型; C 任何一个类都含有构造方法;。 D 构造方法修饰词只能是public( ) B 如下,并将其保存为
10、:文件,得到的结果是和类、定义类17BC class B int b; B(int i)b=i; class C extends B double c=; A)代码能够成功编译运行 B)代码无法编译因为类B不是一个应用程序或小程序 C)代码无法编译,因为类B没有定义不带参数的构造方法 D)代码无法编译,因为类B没有定义一个不带参数的构造方法 18、设已声明了一个类A的两个对象a1,a2,为了初始化a1和a2,下面语句正确的是 ( D ) A)a1,a2=new A(); B)a1=();a2=(); C)a1=new();a2=new(); D)a1=new A();a2=new A(); 1
11、9、下列选项中,用于在定义包时声明包名的关键字是。( B ) A) import B) package C) interface D) protected 20、下面关于继承的哪些叙述是正确的( A ) A) 在java中只允许单一继承。 B) 在java中一个类只能实现一个接口。 C) 在java中一个类不能同时继承一个类和实现一个接口。 D) java的单一继承使代码更可靠。 21、定义一个类名为的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( D ) A) private class MyClass extends Object B) class MyClass ex
12、tends Object C) public class MyClass D) public class MyClass extends Object 22、指出下列哪个方法与方法public void add(int a)为合理的重载方法。( D ) A) public int add(int a) B) public long add(long a) C) public void add(int a,int b) D) public void add(float a) 23、类Line的定义 class Line private int a,b; public Line (int x,in
13、t y) =x; =y; 其中的this代表( C ) A) 类名Line B) 父类的对象 C) Line类的当前对象D) this指针 24、在Java语言中,类Cat是类Animal的子类,Cat的构造方法中有一句“super()”, 该语句表达了什么概念( C ) A) 调用类Cat中定义的super()方法 B) 调用类Animal中定义的super()方法 C) 调用类Animal的构造方法 D) 语法错误 25、某类的成员方法只能被自己调用,声明该函数恰当修饰符是( C ) A) public B) protected 无修饰符D) private C) 26、下面关于变量及其范
14、围的陈述哪些是对的( C ) A) 实例变量是类的成员变量。 B) 实例变量用关键字static声明。 C) 在方法中定义的局部变量在该方法被执行时创建。 D) 局部变量在使用前必须被初始化。 27、在java中,哪一个关键字使类不能派生出子类。( A ) A) final B) public C) private D) volatile 28、下列整型的最终属性i 的定义中,正确的是(C ) A) final i; B) static int i; C) static final int i=234; D) final float i=3.14f; 三、程序阅读题 1、阅读下面的程序,程序保
15、存为: 1)public class Test 3) short mValue; 4) public static void main(String args) 5) 6) int a = 32; 7) int b = 56; 8) Test os = new Test(a+b); 9) ( ); 10) 11) protected Test(short aValue) mValue = aValue; 12) public void Show( ) 13) 上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么 第8行出错,原因是该类缺少一个具有一个整形形
16、参的构造函数。 2、阅读下面的程序: 1)public class test 2) 3) public static void main(String argv) 4) 5) Bird b = new Bird(); 6) (3); 7) 8) 9)class Bird 10) 11) static int Type = 2; 12)private void Fly(int an_Type) 13) 14) Type = an_Type; 15) Flying.+Type); 16) 17) 上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么 第六行出错
17、,原因在于一个类中静态方法不能调用实例方法。 3、阅读下面的程序: 1)abstract class Base 2) abstract public void myfunc(); 3) public void another() 4) Another method); 6) 7)public class Abs extends Base 8) public static void main(String argv) 9) Base b = new Abs(); 10) (); 11) 12) public void myfunc() 13) My Func); 14) 15) public void another() 16) myfunc(); 17) 18) 以上程序经编译后,运行结果是什么My Func 4、阅读下面的程序: 1)class Super 2) public int i=0; 3) public Super() 4) i=1; 5) 6) 7)public class Sub extends Super 8) public Sub() 9) i=2; 10) 11)public static void main(String args) 12) Sub s=new Sub(); 13) 14) 15) 上面的程序经编译后,运行结果是什么2
限制150内