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中,______关键字用于实现接口。

java面向对象程序设计考试题及答案

java面向对象程序设计考试题及答案

java面向对象程序设计考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义类的属性?A. staticB. finalC. privateD. public答案:C2. 以下哪个方法用于在Java中创建对象?A. newB. createC. makeD. construct答案:A3. 哪个关键字用于在Java中定义一个方法?A. functionB. methodC. defineD. procedure答案:B4. 在Java中,哪个关键字用于实现类的继承?A. extendsB. inheritC. deriveD. base答案:A5. Java中接口和抽象类的主要区别是什么?A. 接口没有构造方法,抽象类有B. 接口可以有实现,抽象类不能C. 接口不能有属性,抽象类可以D. 接口可以有私有方法,抽象类不可以答案:A二、填空题(每空1分,共10分)1. 在Java中,一个类可以继承另一个类的属性和方法,这种特性称为____。

答案:继承2. Java中,一个类只能继承一个父类,这是Java的____特性。

答案:单继承3. 当一个类实现了一个接口时,它必须实现接口中所有的____方法。

答案:抽象4. Java中,____关键字用于声明一个类是抽象的。

答案:abstract5. 在Java中,____关键字用于声明一个方法没有具体的实现。

答案:abstract三、简答题(每题10分,共20分)1. 请简述Java中封装的概念及其重要性。

答案:封装是面向对象编程中的一个核心概念,它指的是将对象的状态(属性)和行为(方法)结合在一起,并隐藏对象的内部实现细节。

封装的重要性在于它提高了代码的安全性和可维护性,使得对象的内部状态不会被外部代码随意访问和修改,从而保护了对象的完整性。

2. 描述Java中多态的概念及其作用。

答案:多态是面向对象编程中的一个特性,它允许不同类的对象对同一消息做出响应。

《JAVA面向对象程序设计》练习题-参考答案

《JAVA面向对象程序设计》练习题-参考答案

《JAV A语言程序设计》练习题 1一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3 ,则表达式y+=z--/++x 的值是( )。

A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( )。

A. publicB. privateC. staticD. protected4、为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。

public class test {static int i;public int aMethod() {i++;return i;}public static void main (String args[]) {Test test=new Test() ;test.aMethod () ;System.out.println (test.aMethod()) ;} }a) 0 b) 1 c) 2 d) 3二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。

2、在Java 的基本数据类型中,char 型采用Unicode 编码方案,每个Unicode 码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

3、设x = 2 ,则表达式( x + + ) /3 的值是0 。

2-java面向对象练习题

2-java面向对象练习题

简答题:1 oop概念2 oop的三大特性3 描述面向对象封装和抽象4 通过什么样的代码可以创建出一个对象?5 对象怎么样调用类里面的属性和方法6 如果一个类的属性被私有化了,我们一般怎样给其属性赋值和得到其属性7 一个类的构造方法在什么时候被调用?8 说说方法的重载?9 请描述下this和static10 说说继承有什么样的作用?编码题1.写一个Rect类,要求如下:1)该类中的私有数据成员length,width存放它的长和宽,并且设置它们的默认值是0;2)通过求周长的方法计算出这个Rect周长。

2.写一个员工类,属性:员工编号、姓名、职位、基本工资,类变量员工编号最大值(或最后一个员工的编号),每次新建员工对象时,为其分配编号,编号等于编号最大值加1。

要求可以取得一个员工的完整信息,也可以求出一个员工的月薪和年薪等信息。

3.设计一个形状类,方法:求周长和求面积形状类的子类:Rect(矩形),Circle(圆形)Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积4.某公司的雇员分为以下若干类:Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。

方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。

SalariedEmployee:Employee的子类,拿固定工资的员工。

属性:月薪HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。

属性:每小时的工资、每月工作的小时数SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。

属性:月销售额、提成率BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,工资由底薪加上销售提成部分。

Java面向对象程序设计试卷(二)

Java面向对象程序设计试卷(二)

Java语言程序设计试卷(二)一、单项选择(15分,每题1分)说明:将本题的所有答案填写在题后的表格内。

1、下面关于变量及其作用范围的陈述哪个是不对的?()A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2、哪个是将一个十六进制值赋值给一个long型变量?()A.long number = 345L; B.long number = 0345;C.long number = 0345L; D.long number = 0x345L;3、下面的哪个赋值语句是不对的?()A.float f = 11.1; B.double d = 5.3E12;C.double d = 3.14159; D.double d = 3.14D;4、下面哪个是不合法的标识符?()A.$persons; B.TwoUsers;C.*point; D._endline;5、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()。

A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] args)D、public void main(String arg[ ])6、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为()。

A、隐藏B、覆盖C、重载D、Java不支持此特性7、以下代码段执行后的输出结果为()。

int x=-3; float y=10.0f;System.out.println(y%x);A、不能成功编译B、-1.0C、1.0D、-18、下列关于构造方法的叙述中,错误的是()A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用9、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问10、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的()A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空11、类Test1定义如下:1. public class Test1{2.public float aMethod(float a, float b){ }3.4.}将以下哪种方法插入行3是不合法的。

java语言与面向对象程序设计题库填空

java语言与面向对象程序设计题库填空

java语言与面向对象程序设计题库填空第1章Java开发入门一、填空题1、Java的三大体系分别是__javaSE____、__javaEE____、___ javaME ___。

2、Java程序的运行环境简称之为___JRE___。

3、编译Java程序需要使用___javac__命令。

4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的__bin____目录下。

5、__path____环境变量用来存储Java的编译和运行工具所在的路径,而___classpath___环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。

第2章Java编程基础一、填空题1、Java中的程序代码都必须在一个类中定义,类使用___class___关键字来定义。

2、布尔常量即布尔类型的两个值,分别是___true___和__false____。

3、Java中的注释可分为三种类型,分别是_单行注释、多行注释、文档注释。

4、Java中的变量可分为两种数据类型,分别是基本数据类型、引用数据类型。

5、在Java中,byte类型数据占__1____个字节,short类型数据占___2___个字节,int类型数据占__4____个字节,long类型数据占___8___个字节。

6、在逻辑运算符中,运算符__&____和__&&____用于表示逻辑与,__ | ____和___||___表示逻辑或。

7、若x = 2,则表达式( x + + )/3 的值是___0___。

8、若int a =2; a+=3;执行后,变量a的值为___5___。

9、若int []a={12,45,34,46,23}; ,则a[2]= __34____。

10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ___56___。

第3章面向对象(上)一、填空题1、面向对象的三大特征是_封装_____、__继承____和___多态___。

第2章 Java语言基础知识

第2章 Java语言基础知识

第二章习题参考答案一.简答题1.【参考答案】:面向对象程序设计三大基本特征是:封装、继承和多态。

面向对象封装是把表示属性的数据和对数据的操作包装成一个对象类型,使得对数据的存取只能通过封装提供的接口进行。

数据的封装是隐藏了数据的内部实现细节的结果,将数据抽象的外部接口与内部的实现细节清楚的分开。

继承是类与类之间存在的一种关系,它使程序员可在已有类的基础上定义和实现新类。

继承是构造可复用软件构件的有效机制。

面向对象程序设计中的多态性是指不同的对象收到相同的消息时所产生多种不同的行为方式。

多态性主要表现在对象引用的类型具有多种形态,通过对象引用方法也具有多种形态。

2.【参考答案】:类是对象的模板,是对一组具有共同的属性特征和行为特征的对象的抽象。

类和对象之间的关系是抽象和具体的关系。

即对象的抽象是类,类的具体化就是对象。

类也具有属性,它是对象状态的抽象,用数据结构来描述;类也具有方法,它是对象行为的抽象,用方法名和方法体来描述。

类是定义相同类型对象的结构,是抽象数据类型的实现。

对象是类的实例化,在类定义中指明了类包含对象的属性和方法。

3.【参考答案】:一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。

所以,一个类的成员就是指在这个类中所声明的属性和方法,再加上从其父类继承而来的属性和方法。

也就是说,子类是不能继承父类的私有成员的。

4.【参考答案】:构造方法是用在实例化对象的时候调用的,没有返回值,方法名必须与类名相同。

构造方法可有可无,如果没有构造方法,JVM会调用默认的构造方法.方法分系统方法和用户自定义方法,方法名不能与类名相同,使用方法必须通过调用实现。

也可以分为静态方法和非静态方法,静态方法可用类名直接调用,非静态方法要用对象调用,返回值可有可无,如果没有声明时要加void 。

5.【参考答案】:在Java中,除了可以使用抽象类来实现一定程度的抽象外,还可以定义一种特殊的“抽象类”——接口。

java面向对象程序设计练习题(有答案)

java面向对象程序设计练习题(有答案)

满分:100 分姓名:班级:学号:1. 填空题 ( 5.0 分 )面向对象三大特征______ ______ ______正确答案:封装继承多态2. 填空题 ( 5.0 分 )使用static 修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是对象名.静态变量名和______正确答案:类名.静态变量名3. 单选题 (4.0 分 )下面关于java 中类的说法哪个是不正确的A. 构造函数是类中的特殊方法B. 类一定要声明为public 的,才可以执行C. 在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)D. 一个java 文件中可以有多个class 定义(但只能有一个public 修饰的类)正确答案:B4. 单选题 ( 4.0 分 )关于类中可以包含的内容,如下说法错误的是()A. 类中可以包含属性和方法B. 类中可以直接包含代码块C. 类中可以嵌套定义类D. 类中不能包含其他类正确答案:D5. 单选题 ( 4.0 分 )构造方法是否可被重写和重载()A. 不能重写,可以重载B. 可以重写,不能重载C. 不能重写,不能重载D. 可以重写,可以重载正确答案:A6. 单选题 ( 4.0 分 )关于封装的好处,以下错误的是()A. 隐藏实现的细节B. 方便修改的实现C. 只能通过规定方法访问D. 实现代码复杂化正确答案:D7. 单选题 ( 4.0 分 )在Java 中,下面描述正确的是()A. 一个子类可以有多个父类,一个父类也可以有多个子类B. 一个子类可以有多个父类,但一个父类只可以有一个子类C. 一个子类只可以有一个父类,但一个父类可以有多个子类D. 以上说法都不对正确答案:C8. 单选题 ( 4.0 分 )Java 语言的类间的继承关系是A. 多重的B. 单继承C. 线程的D. 不能继承正确答案:B9. 单选题 ( 4.0 分 )以下关于this 和super 关键字的说法错误的是()A. this 关键字指向当前对象自身,super 关键字指向当前对象的直接父类B. 在main 方法中可以存在this 或者super 关键字,但不能同时存在。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。

面向对象编程的三大特性是封装、继承和多态。

- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。

例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。

- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。

例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。

- 多态:多态允许同一个接口接受不同的数据类型。

在Java中,可以通过重写父类的方法来实现多态。

例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。

2. 解释Java中的接口和抽象类的区别。

接口和抽象类都是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. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。

相关文档
最新文档