2Java第二单元练习题-面向对象程序设计基础资料

合集下载

2.Java面向对象知识测试 - 含答案

2.Java面向对象知识测试 - 含答案

单选题:(每道题目2分)1:下列有关类、对象和实例的叙述,正确的是哪一项?()A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称2:类Student中成员变量声明正确的是哪一项? ()A.class Student{name;age;}B.class Student{String name = 1.0;int age = “26”;}C.class Student{String name;int age;}D.class Student{String name,int age;}3:类Student中成员方法声明正确是哪一项?()A:class Student{public show(){}}B:class Student{public void show();}C:class Student{public void show(){}}D:class Student{show(){}}4:类Student中构造方法声明正确的是哪一项? () A:class Student{public Student()}B:class Student{public Student(){}}C:class Student{public void Student(){}}D:class Student{new Student(){}}5:下列哪一项不是面向对象的三大特征之一? ()A:封装B:抽象C:继承D:多态6:下列关于封装说法不正确的是?()A:封装可以提高代码的安全性。

B:封装是指隐藏实现细节,提高公共的访问方式。

C:类或者方法也是封装的一种体现。

D:仅仅private修饰的内容才是封装的体现。

7:下列哪个方法和int sum(int a,int b)是重写方法?() A:public void sum(int a,int b)B:public int sum(int a,int b)C:int sum(int a,int b,int c)D:void sum(int c,int b)8:下列程序的运行结果是:()class Test{private static int x = 10;public void show(int x){x++;System.out.println(x);}public static void main(String[] args){int x = 20; //局部变量覆盖成员变量Test t = new Test();t.show(x);}}A:10B:21C:11D:209:在子类中调用父类中被重写的方法时需要使用哪个关键字?() A.thisB.newC.superD.以上都不是10:如果想一个类不能被子类继承的话,用下列哪个修饰符? () A:staticB:abstractC:privateD:final11:有如下两个类,在main方法中下面哪个做法是错误的?() class Animal{}class Dog extends Animal{}A:Animal a = new Animal();B:Dog d = new Dog();C: Animal a = new Dog();D:Dog d = new Animal();12:下列有关抽象类的叙述正确的是哪项?() A:抽象类中一定含有抽象方法B:抽象类既能被实例化也能被继承C:抽象类的声明必须包含abstract关键字D:抽象类中不能有构造方法13:下列有关接口的叙述错误的是哪项?() A:接口中只能包含抽象方法和常量B:一个类可以实现多个接口C:具体类实现接口时必须实现其中的方法D:接口不能被继承14:下列程序的运行结果是:()class Fu{public int num = 10;}class Zi extends Fu{public int num = 20;}class Testpublic static void main(String[] args) {Fu f = new Zi();System.out.println(f.num);Zi z = (Zi)f;System.out.println(z.num);}}A:10,10B:20,20C:10,20D:20,1015:下列程序的运行结果是:()class Fu{public void show(){System.out.println("fu show");}}class Zi extends Fu{public void show(){System.out.println("zi show");}public void method(){System.out.println("zi method");}}class Test{public static void main(String[] args){Fu f = new Zi();f.method();}}A:fu showB:zi showC:编译报错D:zi method16:关于代码块说法错误的是?()A:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。

计算机等级二级Java考试辅导:“面向对象”单元练习题(第2部分)

计算机等级二级Java考试辅导:“面向对象”单元练习题(第2部分)

void myFun(){
}
} (2)abstract class MyBaseClass{
abstract void myFun();
}
class MyDerived extends MyBaseClass{
class MyDerived extends MyBaseClass{ } (2)abstract class MyBaseClass{ }
class MyDerived extends MyBaseClass{ } (3)public class MyBaseClass{ }
class MyDerived extends MyBaseClass{ }
第 2/11 页
10、下列给出各种形式的符号定义语句,哪种定义语句在 Java 语言中是正确的布尔类型 (boolean)的变量定义语句( ) (1)boolean myBOOL =1; (2)boolean myBOOL =0; (3)boolean myBOOL =true; (4)boolean myBOOL =null; 11、下列给出各种形式的 Java 赋值操作语句,哪种在 Java 语言中是错误的赋值语句( ) (1) int A =1; byte B=(byte)A; (2) int A =1; char B=A; (3) int A =1; float B=A; (4) int A=1; long B=A; 12、有如下的语句:int X = 1; 则“X = = 1”表达式之值为( ) (1)1 (2)false (3)true (4)null 13、下列给出各种形式的 Java 条件判断语句中的条件判断格式,哪种形式在 Java 语言的 程序中是错误的条件判断格式( ) (1)if (A >= B) (2)if( A = = B) (3)if( A = B) (4)if((A >B) = =true) 14、下列给出各种形式的 Java 语句,哪种形式在 Java 语言中是错误的语句( ) (1)break stop; (2)continue goon; (3)goto goon; (4)if(A > B ){ A=1; } 15、设有如下的程序类定义:class MyClass{ public MyClass( int X ){ } }

面向对象程序设计 复习资料2

面向对象程序设计  复习资料2

面向对象程序设计复习资料(一)单项选择题1.Java是一门()语言。

A. 机器B. 汇编C. 面向过程的高级D. 面向对象的高级2. 具有相同属性和服务的一组对象的共同模板称为()。

A. 程序B. 类C. 代码D. 概念3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。

A. privateB. protectedC. publicD. static4.Java语言中的switch语句属于()语句。

A. 数据输入B. 数据输出C. 分支处理D. 循环控制5.在类的定义中,实现接口的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract6.在派生类的定义中,继承父类的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract7.下列能表示栈(stack)s1长度的是( )。

A.s1.length()B.s1.lengthC.s1.sizeD.s1.size()8.下面的异常()为文件没有找到异常。

A. NullPointerExceptionB. FileNotFoundExceptionC. ArrayIndexOutOfBoundsExceptionD. IOException9.下列不是InputStream 类的子类的是()。

A. FileInputStreamB. ObjectInputStreamC、 FileOutputStream D. DataInputStream10.进行文件输入输出操作时,最常用的系统包是()。

A. B. java.ioC. java.utilD. java.awt11.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

A. 产品B. 元素C. 成分D. 实例12.使用JDK运行Java程序时使用的命令是()。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。

答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。

面向对象编程的主要特点包括封装、继承和多态。

封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。

继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。

多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。

面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。

通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。

2. 试题二题目:什么是类?请简要描述类的特点和组成部分。

答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。

类是用来创建对象的蓝图,可以通过实例化类来创建对象。

类的特点包括了封装、继承和多态。

类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。

继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。

多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。

类的组成部分包括了属性(Field)和方法(Method)。

属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。

方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。

3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。

答案:传值和传引用是在方法调用时,参数传递的两种方式。

java第二版第二章答案

java第二版第二章答案

java第二版第二章答案Java语言程序设计(郑莉)第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

Private(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。

proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。

无修饰符(默认的):public,private,protected 这个三个限定符不是必须写的。

如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。

8简述构造方法的特点?答:构造方法主要有以下特点:(1)构造方法的方法名与类名相同;(2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public);(4)构造方法可以有任意多个参数;(5)构造方法的主要作用是完成对象的初始化工作;(6)构造方法不能在程序中显式的调用;(7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。

9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?答:用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。

但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。

Java面向对象程序设计单元测试卷二答案

Java面向对象程序设计单元测试卷二答案

《面向对象程序设计(Java)》单元测试2答案一、选择与填空1 . Color=blue2. D3. private(或私有)4. A 、C5. 父类、B、D6. A7. A8. C9. D10. B11. run!20.03二、编程题1.Light类class Light{private int watts;private boolean indicator;public Light(int watts){this.watts=watts;}public Light(int watts,boolean indicator){this.watts=watts;this.indicator=indicator;}public void switchOn(){indicator=true;}public void switchOff(){indicator=false;}public void printInfo(){if(indicator)System.out.println("灯的瓦数为:"+watts+" 灯的状态为:开");elseSystem.out.println("灯的瓦数为:"+watts+" 灯的状态为:关");}}2.TubeLight类class TubeLight extends Light{private int tubeLength;private String color;public TubeLight(int watts,int tubeLength,String color){super(watts);this.tubeLength=tubeLength;this.color=color;}public void printInfo(){super.printInfo();System.out.println("灯管的长度为:"+tubeLength+" 灯光颜色为:"+color);}}3.测试程序class Test{public static void main(String args[]){TubeLight tube=new TubeLight(32,50,"white");tube.switchOn();tube.printInfo();}}。

Java面向对象(二)习题

Java面向对象(二)习题

1、Java中用于定义接口的关键字是()A、importB、packageC、classD、interface2、以下关于abstract的说法,正确的是( )A、abstract只能修饰类B、abstract只能修饰方法C、abstract类中必须有abstract方法D、abstarct方法所在的类必须用abstract修饰3、下列哪种说法是正确的()A、私有方法不能被子类覆盖。

B、子类可以覆盖超类中的任何方法。

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

4、关于类继承的说法,正确的是()A、Java 类允许多重继承B、Java接口允许多继承C、接口和类都允许多继承D、接口和类都不允许多继承5、关于抽象类,正确的是______。

A. 抽象类中不可以有非抽象方法B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法C. 不能用抽象类去创建对象D. 接口和抽象类是同一个概念6、下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?()A、Class类B、Thread类C、System类D、Object类7、下面关于继承的哪些叙述是正确的。

( )A、在java中只允许单一继承。

B、在java中一个类只能实现一个接口。

C、在java中一个类不能同时继承一个类和实现一个接口。

D、java的单一继承使代码更可靠。

8、抽象类A和抽象类B的定义如下:abstract class ex4_5_10_A {abstract int getinfo();}public class ex4_5_10 extends ex4_5_10_A {private int a = 0;public int getinfo() {return a;}public static void main(String args[]) {ex4_5_10 b = new ex4_5_10();System.out.println(b.getinfo());}}关于上述代码说明正确的是()。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于定义类?A. classB. structC. interfaceD. enum答案:A2. 以下哪个选项是Java中类的成员变量?A. 局部变量B. 实例变量C. 静态变量D. 全局变量答案:B3. 在Java中,构造方法的特点是什么?A. 必须有返回值B. 必须有返回类型C. 没有返回值D. 可以有任意返回类型答案:C4. 以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. enum答案:C5. 在Java中,以下哪个关键字用于实现多重继承?A. extendsB. implementsC. import答案:B6. 以下哪个关键字用于定义一个抽象类?A. abstractB. finalC. nativeD. strictfp答案:A7. 在Java中,以下哪个关键字用于定义一个静态方法?A. staticB. finalC. abstractD. synchronized答案:A8. 在Java中,以下哪个关键字用于定义一个私有方法?B. protectedC. publicD. default答案:A9. 在Java中,以下哪个关键字用于定义一个受保护的方法?A. privateB. protectedC. publicD. default答案:B10. 在Java中,以下哪个关键字用于定义一个公共方法?A. privateB. protectedC. publicD. default答案:C二、填空题(每题2分,共20分)1. 在Java中,一个类可以继承另一个类的______属性和方法。

答案:public2. Java中的构造方法必须与______同名。

答案:类名3. 在Java中,______关键字用于实现类的多态性。

答案:extends4. 在Java中,______关键字用于实现接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2面向对象程序设计基础2.1单项选择题1.下面关于类的继承性的描述中,错误的是()。

A.继承是在已有的基础上生成新类的一种方法B.Java语言要求一个子类只有一个父类C.父类中成员的访问权限在子类中将被改变D.子类继承父类的所有成员,但不包括私有的成员方法2.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是()。

A.默认B.protected C.private D.public3.在类的修饰符中,规定只能被同一包类所使用的修饰符是()。

A.public B.默认C.final D.abstract4.下列关于子类继承父类的成员描述中,错误的是()。

A.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。

B.方法重载是编译时处理的,而方法覆盖是在运行时处理的。

C.子类中继承父类中的所有成员都可以访问。

D.子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量。

5.下列关于继承性的描述中,错误的是()。

A.一个类可以同时生成多个子类B.子类继承了父类中除私有的成员以外的其他成员C.Java支持单重继承和多重继承D.Java通过接口可使子类使用多个父类的成员6.下列关于抽象类的描述中,错误的是()。

A.抽象类是用修饰符abstract说明的 B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类7.下列关于构造方法的叙述中,错误的是()。

A.构造方法名与类名必须相同B.构造方法没有返回值,且不用void声明C.构造方法只能通过new自动调用D.构造方法不可以重载,但可以继承8.下面叙述中,错误的是()。

A.子类继承父类B.子类能替代父类C.父类包含子类D.父类不能替代子类9.下面关于接口的描述中,错误的是()。

A.一个类只允许继承一个接口B.定义接口使用的关键字是interfaceC.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现D.接口实际上是由常量和抽象方法构成的特殊类10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?()A.ArrayList myList=new Object(); B.ArrayList myList=new List();C.List myList=new ArrayList(); D.List myList=new List();11.下列哪一个方法与方法public void add(int a){}为不合理的重载方法?()A.public void add(char a) B.public int add(int a)C.public void add(int a,int b) D.public void add(float a)12.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是()。

A.public int MAX_LENGTH=100; B.final public int MAX_LENGTH=100;C.public final int MAX_LENGTH=100; D.final int MAX_LENGTH=100;13.下面关于封装性的描述中,错误的是()。

A.封装体包含属性和行为B.被封装的某些信息在外不可见C.封装提高了可重用性D.封装体中的属性和行为的访问权限相同14.下面关于类方法的描述,错误的是()。

A.说明类方法使用关键字static B.类方法和实例方法一样均占用对象的内存空间C.类方法能用实例和类名调用D.类方法只能处理类变量或调用类方法15.下面关于包的描述中,错误的是()。

A.包是若干对象的集合B.使用package语句创建包C.使用import语句引入包D.包分为有名包和无名包两种16.下面哪一个代码段是错误的Java源程序?()A.import java.io.*; B.import java.io.*;package testpackage; class Person{/* do something... */}public class Test{/* do something... */} public class Test{/* do something... */}C.import java.io.*; D.package testpackage;import java.awt.*; public class Test{/* do something... */}public class Test{/* do something... */}17.请问所有的异常类皆继承哪一个类?()A.ng.Throwable B.ng.ExceptionC.ng.Error D.java.io.Exception18.哪个关键字可以抛出异常?()A.transient B.throw C.finally D.catch19.对于已经被定义过可能抛出异常的语句,在编程时()。

A.必须使用try/catch语句处理异常,或用throw将其抛出。

B.如果程序错误,必须使用try/catch语句处理异常。

C.可以置之不理。

D.只能使用try/catch语句处理。

20.下面程序段的执行结果是什么?()public class Foo{public static void main(String[] args){try{return;}finally{System.out.println("Finally");}}}A.编译能通过,但运行时会出现一个例外。

B.程序正常运行,并输出"Finally"。

C.程序正常运行,但不输出任何结果。

D.因为没有catch语句块,所以不能通过编译。

21.如果下列的方法能够正常运行,在控制台上将不显示哪一个?()public void example( ){try{unsafe();System.out.println("Test1");}catch(SafeException e){System.out.println("Test 2");}finally{System.out.println("Test 3");}System.out.println("Test 4");}A.Test 1 B.Test 2 C.Test 3 D.Test 422.指出错误的表达式有( C )。

A.double a=2.0; B.Double a=new Double(2.0);C.byte A= 350; D.int a = 120;23.System类在哪个包中?()A.java.awt B.ng C.java.util D.java.io24.关于Float,下列说法错误的是()。

A.Float在ng包中B.Float a=1.0是正确的赋值方法C.Float是一个类D.Float a= new Float(1.0)是正确的赋值方法25. 以下关于继承的叙述正确的是()。

A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承26.以下哪个不是Java的原始数据类型()A、intB、BooleanC、floatD、char27.以下哪项可能包含菜单条()。

A、JPanelB、JFrameC、JTableD、JScrollPane28.若需要定义一个类域或类方法,应使用哪种修饰符?()A、staticB、packageC、privateD、public29.给出下面代码,关于该程序以下哪个说法是正确的?()public class Person{static int arr[] = new int[5];public static void main(String a[]){System.out.println(arr[0]);}}A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零D、输出空30.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。

A、privateB、protectedC、private protectedD、public31. 类Parent、Child定义如下:1.public class Parent2.{ public float aFun(float a, float b) throws3.IOException { }4.}5.public class Child extends Parent{6.7.}将以下哪种方法插入行6是不合法的。

()A、float aFun(float a, float b){ }B、public int aFun(int a, int b)throws Exception{ }C、public float aFun(float p, float q){ }D、public int aFun(int a, int b)throws IOException{ }32. 定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static33. 定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static34.下面说法错误的是()。

A) final 可修饰类、属性(变量)、方法。

B) abstract可修饰类、方法。

C) 抽象方法只有方法头,没有方法体。

D) 关键字final和abstract可以同时使用。

35.下面关于Java中异常处理try块的说法不正确的是( )?A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。

B) catch 块后可以有finally块,也可以没有。

C)可能抛出异常的方法调用应放在try块中。

D)对抛出的异常的处理必须放在try块中36.下面哪一个关键字不能用来控制对类成员的访问( )?A) public B) protected C) private D) default37.类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中不正确的是( )。

A) B x1= new B( ); B) B x1= new C( );C) C x1=new C( ); D) Object x1= new C( );38. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。

相关文档
最新文档