第4章(2)可变参数,static与this练习题 一、填空题
1、在下面程序划线处填入适当的内容。
class MyClass{ static int var=100;_static(public static)______ int getVar() { return var; } } 2、以下程序段的输出结果为__int version____ 。 class Cruncher{
void crunch( int i ){
System.out.println(“int version”); } void crunch(String s){
System.out.println(“String version”); } public static void main(String args[ ]){ Cruncher crun=new Cruncher ( ); char ch=’p’; crun.crunch(ch); }
}
3、以下程序段的输出结果为 lnteger String_____。 class IntORString{
void iosM( int i ){
System.out.print(“Integer ”); } void iosM(String s){
System.out.print(“String ”); }
public static void main(String args[ ]) { IntORString ios=new IntORString ( ); ios.iosM(‘a’); ios.iosM(“1”); } }
4、如果有个类A,该类中有成员变量b和成员方法c(),则在创建该类得对象a后,对该对象的成员变量和成员方法的调用方式分别是_a.b__,_a.c()___。 5、以下代码段创建了_2__个对象,声明了___3__个变量。 Thing item, stuff; item = new Thing();
Thing entity = new Thing();
6、通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现:_MyClass obj=new MyClass()________。
7、下面_________情况下,系统会为类A自动产生构造函数? A. class A { }
B. class A { public A() {} }
C. class A { public A(int x) {} }
D. class Z {} class A extends Z { void A() {} } 8、请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是_静态成员变
量初始化、成员变量初始化、构造函数______。 9、划线处应填的一句代码:___this(a)____。 public class Example{
int x,y;
public Example(int a){ x = a; }
public Example(int a, int b){
____________;//调用上面的一个参数的构造方法 y = b; } }
10、关键字__final_____表明一个对象或变量在初始化后不能被修改。
11、类是对象的抽象,是属性和操作的封装体,其中属性是事物静态特征的抽象,在程序中用_数据成员_____描述,操作是事物动态特征的抽象,在程序中用_成员方法__描述。 .
第4章(3)包_访问权限_基本数据类型封装练习题 一、填空题 1、请填出在java.lang包中与下列基本数据类型相对应的封装类: float:java.lang.Float, char:___java.lang.Character______ , boolean:_java.lang.Boolean_____________.
2、java中提供了四种访问控制符,分别是:__public ________,____protected_______,____private _____,_缺省或___friendly ________。 3、以下程序段的输出结果为 ___false,true_______。 public class EqualsMethod {
public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1= =n2);
System.out.print(“,”); System.out.println(n1! =n2); }
}
4、在java中,将具有相同属性的对象抽象成_类___。然后将它按照程序设计所需要的常用方法和接口封装成_包__。
5、创建一个名为 MyPackage 的包的语句是package mypackage ,该语句应该放在程序的置为:应放在程序第一句。
6、导入mypackage包中的所类的命令是 impoart mypackage.* 。 二、单选题
1、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected
2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( )
B. public void method( )
C. final void method( ) D. abstract void method( )
3、下列修饰符中与访问控制无关的是( ) A.private B.public C.protected D.final 4、void的含义:( )
A.方法没有返回值 B.方法体为空 C.没有意义D. 定义方法时必须使用 5、关于对象成员占用内存的说法哪个正确?( ) A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对
6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static
第5章(1)继承与多态练习题答案 一、选择题
1、关于继承的说法正确的是:( B ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性 2、this和super:( B ) A、都可以用在main()方法中 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同
3、关于super的说法正确的是:( B ) A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中
4、覆盖与重载的关系是( A )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B、覆盖方法可以不同名,而重载方法必须同名 C、final修饰的方法可以被覆盖,但不能被重载 D、覆盖与重载是同一回事
5、定义一个类,必须使用的关键字是( B ) A、public B、class C、interface D、static
6、如果有如下这样一段代码class A { A() { } }
class B extends A { }
请在下面项中,正确的说法是:____________ B D A、类B的构造函数的访问权限是public B、类B的构造函数没有参数
C、类B的构造函数中包含this()方法的调用;
相关推荐: