类和对象练习题.doc

上传人:s****u 文档编号:12757788 上传时间:2020-05-22 格式:DOC 页数:29 大小:103.51KB
返回 下载 相关 举报
类和对象练习题.doc_第1页
第1页 / 共29页
类和对象练习题.doc_第2页
第2页 / 共29页
类和对象练习题.doc_第3页
第3页 / 共29页
点击查看更多>>
资源描述
类和对象一、选择题1、下面对方法的作用描述不正确的是:( d d ) A、 使程序结构清晰 B、 功能复用 C、 代码简洁 D、 重复代码 2、方法内定义的变量:( b b ) A 、一定在方法内所有位置可见 B、 可能在方法内的局部位置可见 C、 在方法外可以使用 D、 在方法外可见 3、方法的形参:( a) A、可以没有 B、至少有一个 C、必须定义多个形参 D、只能是简单变量4、方法的调用:( c) A、必须是一条完整的语句 B、只能是一个表达式 C、可能是语句,也可能是表达式 D、必须提供实际参数 5、return 语句:( d d) A、不能用来返回对象 B、只可以返回数值 C、方法都必须含有 D、一个方法中可以有多个 return 语句 6、void 的含义:( d d)A、方法体为空 B、方法体没有意义 C、定义方法时必须使用 D、方法没有返回值 7、main()方法的返回类型是:( c c ) A 、boolean B、 int C、 void D、 static 8、方法重载所涉及的方法:( a )A、有相同的名字 B、参数个数必须不同 C、参数类型必须不同 D、返回类型必须不同9、下面关于类和对象之间关系的描述,正确的是( c c ) A、联接关系 、包含关系 、具体与抽象的关系 、类是对象的具体化10、下面关于java中类的说法哪个是不正确的( c )A、类体中只能有变量定义和成员方法的定义,不能有其他语句。B、构造方法是类中的特殊方法。C、类一定要声明为public的,才可以执行。D、一个java文件中可以有多个class定义。11、下列哪个类声明是正确的( d) A、 public void H1 B 、public class Move()C、 public class void number D、 public class Car12、下面的方法声明中,哪个是正确的( c c)A、 public class methodName() B、 public void int methodName() C、 public void methodName() D、public void methodName13、下述哪些说法是不正确的?( b ) A、 实例变量是类的成员变量 B、 实例变量是用static关键字声明的C、 方法变量在方法执行时创建 D、方法变量在使用之前必须初始化14、下面对构造方法的描述不正确是( b b )。A、 系统提供默认的构造方法 B、 构造方法可以有参数,所以也可以有返回值C、 构造方法可以重载D、 构造方法可以设置参数15、定义类头时,不可能用到的关键字是( bb b)。 A、 class B、private C、extends D、public16、下列类头定义中,错误的是( a )。 A、public x extends y . B、 public class x extends y . C、class x extends y implements y1 . D、class x .17、设 A为已定义的类名,下列声明A类的对象a的语句中正确的是 ( d ) 。 A、 float A a; B、 public A a=A( ); C、 A a=new int( ); D、static A a=new A( );18、设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是 ( a )。 A、 void X(int k ) i=k; B、 X(int k ) i=k; C、X(int m, int n ) i=m; j=n; D、X( )i=0;j=0; 19、有一个类A,以下为其构造方法的声明,其中正确的是( b )。 A、void A(int x). B、 public A(int x). C、public a(int x). D、static A(int x).20、下列方法定义中,不正确的是( c )。A、 float x( int a,int b ) return (a-b); B、 int x( int a,int b) return a-b; C、 int x( int a,int b ); return a*b; D、 int x(int a,int b) return 1.2*(a+b); 21、设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是( a )。 A、double X(double k ) i=k; return i; B、 X( )i=6;j=8; C、 X(double m, double n ) i=m; j=n; D、X(double k ) i=k; 22、设 ClassA为已定义的类名,下列声明Class A类的对象ca的语句中正确的是( a )。 A、public ClassA ca=new ClassA( ); B、 public ClassA ca=ClassA( ); C、 ClassA ca=new class( ); D、 ca ClassA;23、设m , n为类A中定义的int型变量名,下列A类的构造方法中不正确的是( a )。 A、 void A(int k ) m=k; B、A(int k ) m=k; C、 A(int m, int n )m=i; n=j; D、 A( )m=0;n=0; 24、设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是( b )。 A、 School ( int m) . B、 void School ( int m) . C、School ( int m, int n) . D、School ( int h,int m,int n) . 25、下列选项中,哪个是java语言所有类的父类( c )A、String B、 Vector C、 Object D、KeyEvent26、Java中所有的类都是通过直接或间接地继承( a )类得到的。( )A、 java.lang.Object B、 java.lang.Class C、 任意类 D、以上答案都不对27、对于任意一个类,用户所能定义的构造方法的个数至多为( d )。A、0个 B、1个 C、2个 D、任意个 28、构造方法何时被调用( b )A、类定义时 B、创建对象时 C、调用对象方法时 D、使用对象的变量时29、类Test1定义如下 public class Test1 public float aMethod(float a,float b) ( b ) 将以下哪种方法插入( )是不合法的。( )A、public float aMethod(float a, float b,float c) B、public float aMethod(float c,float d) C、public int aMethod(int a, int b) D、public int aMethod(int a,int b,int c) 30、用来导入已定义好的类或包的语句是( b ) A、main B、import C、public class D、class 31、类是具有相同( a )的集合,是对对象的抽象描述。( )A、 属性和方法 B、 变量和方法 C、变量和数据 D、 对象和属性32、一个对象的生命周期分( c )3个阶段。( )A、使用、生成和清除 B、清除、使用和生成 C、生成、使用和清除 D、生成、清除和使用33、以下(a )是专门用于创建对象的关键字。( )A、new B、double C、class D、int34、表达式( c)将返回当前的系统时间和日期 ( )A、 DataFormat.getDataTime B 、 new Data C 、DataFormat.getDataTimeInstance() D、 new CurrentData35、()为程序员提供了一些可完成通用任务的现有类 ( A)A、 Java类库 B 、preExisting C、 java 代码 D 、library关键字36、程序员通常会使用( C )A 、程序员定义的方法 B 、现有的方法C 、程序员定义的得带以及现有的方法 D 、既不是程序员定义的方法也不是现有的方法37、利用方法中的()语句可为调用方法返回一个值( A )、return B 、back C、end D 、以上答案都不对38、( A)方法用做返回两个参数中的较大值( )A 、max B 、maximum C、 larger D、 greater 39、( D )将被传送至一个被调用的方法( ) A、 返回值 B、 返回类型 C、 参数表 D、 参数列表40、方法的参数可以是( D )A、 常量 B、表达式 C、 变量 D 、以上答案都对41、()是位于方法头中的一个以逗号分隔的声明列表( B )、参数表 、参数列表 、值表 、变量表42、方法的定义是由( )组成的( D )A、 一个方法 B 、一个方法体 C 、一对花括号 D 、 以上答案都对43、一个( D)对象将包括int型数据( )A、 IntegerObject B、Int C、IntData D、Integer 44、在方法调用过程中。位于方法名之后圆括号的变量被称为( B )A、 变元 B 、参数 C 、语句 D 、声明45、一条return语句将给调用程序返回(D)个值( )A 、0 B、 1 C、 任意数量 D、A和B 46、方法的第一行被称为方法的( D )A 、方法体 B、 标题 C、 调用者 D、 方法头47、实例变量的作用域整个的( C )A、 语句块 B 、 方法 C 、类 D 、 以上答案都不对48、在某个方法内部定义的变量被称为( B )A 、实例变量 B、局部变量 C、 类变量 D、 隐藏变量49、在一个类的内部声明,但又处于该类方法外部的变量被称为( C )A、 局部变量 B、 隐藏变量 C、 实例变量 D、常量50、从定义局部变量语句的外部访问该局部变量,会导致()出现 ( A )A、 逻辑出错 B 、 编译错误 C、 运行错误 D 、 以上答案都不对51、实例变量( D )A 、 是在一个类的内部声明的变量 B 、 的作用域为整个类C 、 可被同一类中的任何方法所访问 D 、 以上答案都对52、当方法内传递一个参数时,将该参数值的一个拷贝传递给方法的传递方式称为( B )A、调用传递 B、 值传递 C、 引用传递 D 、方法传递53、当一个变量在应用程序的整个生命周期中被使用,且整个过程中的其他值也不能被改变时,那么将他声明为一个( B )A 、局部变量 B、常量 C、实例变量 D、以上答案都不对54、关键字()表示一个类定义的开始( C )A、 declare B、new C、 class D、以上答案都不对55、类的定义必须包含在一对()内( B )A、方括号 B、花括号 C、逗号 D、圆括号56、实例变量的初始化( B )A 、是在他们声明时完成 B 、 将被设置为默认值C 、是在一个构造方法中完成的 D 、以上答案都对57、某个方法,在保证参数值有效性的前提下设置其实例变量number,该方法的方法名最好取( C )、number B、 set C、setNumber D、 setValue58、某个方法,在保证参数值有效性的前提下获取其实例变量number,该方法的方法名最好取( C )、number B、 get C、getNumber D、 getValue59、通过使用关键字()创建对象( D )A、 object B 、instantiate C、create D、 new 60、参照以下Java代码,以下四个叙述中最确切的是( C)class Aint x; static int y;void fac(String s)System. out. println(字符串:+s);A、x、y和s都是成员变量 B、x是实例变量、y是类变量、s是局部变量C、x和y是实例变量、s是参数 D、x、y和s都是实例变量61、下列关于变量作用域的描述中,不正确的一项是 ( C ) A、变量属性是用来描述变量作用域的 B、局部变量作用域只能是它做在的方法代码段内 C、类变量能在类的方法中声明 D、类变量的作用域是整个类 62、下列关于变量作用域的说法中,正确的一项是 ( B )A、方法参数的作用域是方法外部代码段 B、异常处理参数的作用域是方法外部代码段C、局部变量的作用域是整个类D、类变量的作用域是类的某个方法63、System类在哪个包中?( D )A 、java.util B 、java.io C 、java.awt D 、java.lang64、给出下面代码段 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) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) 12) 哪行将引起一个编译时错误? ( D )A 、line 3 B、 line 5 C、 line 6 D、 line 10 65、对于下列代码、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 766、下列关于构造方法的说话正确的是( B )A、 类中的构造方法不可省B、 构造方法必须与类同名,但方法不能与class同名C 、 类的构造方法在一个对象被创建时自动执行D、 一个类只能定义一个构造方法67、下列语句中,对构造方法的描述错误的是( D )A、构造方法的名称必须和类名相同B、构造方法没有返回值,返回类型也不能用voidC、构造方法在一个类中可以多次出现D、当重写了带参数的构造方法,系统默认的不带参数的构造方法依然存在68、下面关于java中类的说法哪个是不正确的( A )A、类体中只能有变量定义和成员方法的定义,不能有其他语句B、构造方法是类中的特殊方法C、类一定要声明为public 的,才可以执行D、一个java文件中可以有多个class定义69、下列哪个 不是 面向对象的三大特性之一( D )A、 封装性 B、 继承性 C、多态性 D、重载70、下面哪种语言 不是 面向对象语言 ? ( C )A、 java B、 C+ C 、 C D、 Smalltalk71、在创建对象时必须( D ) A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能使用对象 C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D、上述说法都对72、以下叙述不正确的是( D )A、面向对象方法追求的目标是、尽可能地运用人类自然的思维方式来建立问题空间的模型,构造尽可能直观、自然的表达求解方法的软件系统。 B、面向对象方法的优点有、易于维护,可重用性好,易于理解、扩充和修改。C、面向对象对象分类继承消息通信。D、面向对象的基本特征是封装性、继承性和并行性。73、对于构造函数,下列叙述不正确的是( B )。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。二、填空题1、通常用关键字 NEW 来新建对象,通过类创建对象的基本格式为: 类名 对象名 =new 构造方法(); 。2、通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现 Myclass obj=new Myclass(); 。3、面向对象程序设计的主要特点是 继承 、 多态 和 封装 。4、构造方法是类中的一种特殊方法,它用来定义对象的 初始化 。5、在Java程序中定义的类中包括有两种成员,分别是: 成员变量 、 成员方法 。6、用static修饰的方法,称为静态方法。它们不是对象的方法,而是整个类的方法。静态方法只能处理用关键字 修饰的数据。7、列举三个常用类库的包、 java.util 、java.io 和 java.awt 。8、Java中所有类都是类 Object 的子类。9、Java中类成员的限定词有以下几种:private、 public、 friendly、protected其中, public 的限定的范围最大。10、被关键字 final /private 修饰的方法是不能被当前类的子类重新定义的方法。11、JAVA程序的基本元素是 类 。12、 class 是JAVA语言中定义类时必须使用的关键字。13、定义在类中方法之外的变量称为 成员变量 。14、方法声明包括 方法头 和 方法体 两部分。15、方法头确定方法的 方法名 ,形式参数的名字和 类型 、 返回值 的类型和绯闻限制。16、 方法体 由包括在花括号内的声明部分和语句部分组成,描述方法的功能。17、类头定义的基本格式要求为_修饰符_ _、_class关键字_ _、_ 类名 _和_ 花括号 _。18、 对象 是指Java程序通过规则引擎调用此规则包时,将数据存储在Java的类中,以对象的形式传入。19、在Java类对象的 编辑窗口 中直接输入需要导入的类的完成类名。20、 类 是Java的核心内容,是用来创建对象的模板。21、类有两种基本成员是 方法 和 成员变量 。22、 一个Java源文件就是由若干个 类 构成的。23、 类 是抽象,而 对象 是具体。24、.对象的创建、创建对象的过程就是 类的实例化 的过程25、 对象的创建的步骤 对象的声明 、 及 对象的实例化 。26、 使用new运算符实例化一个已经声明的 类 27、实例化一个对象时,会同时调用类的构造方法对它进行 。28、 类的 是特殊的类方法,它必须和类同名,并且不能有返回类型,也不能用void来标注。29、 构造方法是具有特殊地位的方法, 不可以调用构造方法。30、一个类中可以有多个 31、类里面如果没有 ,系统会调用默认的构造方法,默认的构造方法是不带任何参数的。32、包主要来解决 的问题。33、 既是命名机制,又是可见度控制机制。34、java语言的属性与方法的引用均使用_ _运算符。35、定义类时通常使用关键字_ , , _。36、写出成员变量的定义格式_ _。37、对象的生命周期包括三个阶段 、 、 。38、Java中类成员的访问控制符有以下几种、private, public,_ _, _ _。其中,_ _的限定的范围最大。39、Java中所有类都是类_ _的子类。Applet类是系统类_ _类的子类,存在于_ _包中。40、按作用域分类,变量有局部变量、_ _、方法变量和异常处理参数。41、JAVA语言通过接口支持_ _继承,使类继承具有更灵活的扩展性。42、JAVA语言中_ _类是所有类的根。三、程序填空1、请写出下面程序的运行结果。packagecom.gem.j2SE03; abstractclassA privateintx=100; publicA() this.print(); publicabstractvoidprint(); classBextendsA privateintx=200; publicB(intx) this.x=x; publicvoidprint() System.out.println(x=+x); publicclassTestJava privatevoidmian() Aa=newB(20); 程序运行结果为:2、请写出下面程序的运行结果。public class Test extends TTpublic void main(String args) Test t = new Test(Tom); public Test(String s) super(s); System.out.println(How do you do?); public Test() this(I am Tom); class TT public TT() System.out.println(What a pleasure!); public TT(String s) this(); System.out.println(I am +s); 程序运行结果为:3、阅读下列程序,写出程序运行的结果:public class Test public static void main (String args) String s1=new String(Hello); String s2=Hello; String s3=Hello; System.out.println(s1=s2); System.out.println(s1.equals(s2); System.out.println(s2=s3); System.out.println(s2.equals(s3); String s4=s1; System.out.println(s1=s4); System.out.println(s1.equals(s4); 程序运行结果为:4、public class Test private static void printArray(int arr) for(int i=0;i arr.length;i+) System.out.print(arri+,); System.out.println(n); private static void changeValue(int value) value*=2; private static void changeValue(int arr) for(int i=0;iy?x:y; max_value=temp1z?temp1:z; return max_value; 程序运行结果为:9、写出下列程序的输出结果public class Testpublic static void main(String args)Count myCount = new Count();int times = 0;for(int i=0;i100;i+)increment(myCount , times);System.out.println(“count is” + myCount.count);System.out.println(“time is”+ times);public static void increment(Count c , int times)c.count+;times+;class Countpublic int count;Count(int c)count =c;Count()count =1;程序运行结果为:10、阅读下列程序,写出程序运行的结果:class Circle double radius;public Circle(double r)this.radius=r;public class Testpublic static void main(String args)Circle circle1 = new Circle(1);Circle circle2 = new Circle(2);System.out.println(Before swap:circle1 =+circle1.radius+ circle2 = +circle2.radius);swap(circle1,circle2);System.out.println(After swap:circle1 = +circle1.radius+ circle2 = +circle2.radius);public static void swap(Circle x , Circle y)System.out.println(Before swap: x = +x.radius+ y = +y.radius);Circle temp = x;x = y;y = temp;System.out.println(Before swap: x = +x.radius+ y = +y.radius);程序运行结果为:11、下列程序的输出结果是什么?public class Foostatic int i=0;static int j=0;public static void main(String args)int i=2;int k=3;int j=3;System.out.println(“i + j is ”+ i + j);k = i +j;System.out.println(“k is ”+k);System.out.println(“j is ”+ j);程序运行结果为:12、运行类C的输出结果是什么?class Apublic A()System.out.println(The default constructor of A is invoked);class B extends Apublic B()System.out.println(The default constructor of B is invoked);public class Cpublic static void main(String args)B b = new B();程序运行结果为:13、阅读下列程序写出输出结果:class A String s=class A; void show() System.out.println(s); class B extends A String s=class B; void show() System.out.println(s);public class TypeConvertpublic static void main(String args)B b1;B b2=new B();A a1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s); a1.show();System.out.println(a2.s); a2.show();b1=(B)a1;System.out.println(b1.s); b1.show();System.out.println(b2.s); b2.show();程序运行结果为:14、阅读下列程序,写出程序运行的结果:class A int i, j;public A() this.i=0;this.j=0;public void print() System.out.println (i=+i+j=+j);class B extends Aint m;public B (int i, int j, int m)super ();this.m=m;public void print ()System.out.println (i=+i + m=+m);public class Cpublic static void main(String args) A a=new A();B b=new B(1, 2, 3);a.print ();b.print ();程序运行结果为:15、阅读下列程序,写出程序运行的结果:class Demo public void test ()System.out.println (NO);public void test (int i)System.out.println (i);public void test (int a, int b)System.out.println (a+b);public class Test public static void main(String args)Demo de=new Demo();de.test();de.test(5);de.test(6,8);程序运行结果为:16、阅读下列程序,写出程序运行的结果:class Cube int width; int height; int depth; Cube(int x,int y,int z) this.width=x; this.height=y; this.depth=z; public int vol() return width*height*depth;public class UseCube public static void main(String args) Cube a=new Cube(3,4,5); System.out.println(长度=+a. width); System.out.println(体积=+a.vol(); 程序运行结果为:17、阅读下列程序,写出程序运行的结果: class SuperClass int x=10; int y=20; public void show() System.out.println(我是父类的成员方法!);class SubClass extends SuperClass int z=30; public class JC public static void main(String args) SuperClass father=new SuperClass(); SubClass child=new SubClass(); System.out.println(父类SuperClass成员变量、+father.x+,+father.y); System.out.println(子类SubClass成员变量、+child.x+,+child.y+,+child.z); 程序运行结果为:18、阅读下列程序,写出程序运行的结果:public class Class431 public static void main(String args) int a = 3; char m=a; prt(m in main=+m); prt(a in main=+a); prt(return from test2 : +test2(); prt(m + a=+test1(m,a); static float test1(char x, int y) int z = x+y;return z; static float test2() int a = 60; for (int i = 8; i 12; i+) a= a+i; prt(a in test2 is : +a); return a; static void prt(String s) System.out.println(s); 程序运行结果为:19、阅读下列程序,写出程序运行的结果:public class Class432 static int i=123; public static void main (String args) int i=456; System.out.println(main( ) 中的 i=+i); m1( ); m2( ); static void m1( ) int i=789; System.out.println(m1( ) 中的 i=+i); static void m2( ) System.out.println(类变量 i=+i); i+=6; System.out.println(加 6 后的类变量 i=+i); 程序运行结果为:20、下面程序的结果是什么? class Tester int var; Tester(double var) this.var = (int)var; Tester(int var) this(hello); Tester(String s) this(); System.out.println(s); Tester() System.out.println(good-bye);
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!