面向对象编程练习题库-test

合集下载

面向对象编程基本知识练习

面向对象编程基本知识练习

面向对象编程基本知识练习一、判断题1.不需要定义类,就能创建对象。

()2.构造方法用于给类的private 实例变量赋值。

()3.对象一经声明就可以立即使用。

()4.在定义变量和方法时,必须清楚地在其面前标上访问权限修饰符。

()5.Java 程序中的参数传递都是把参数值传递给方法定义中的参数。

()6.在类定义中,成员访问权限修饰符不能多次出现。

()7.new 操作符动态地为对象按其指定的类型分配内存,并返回该类型的一个引用。

()8.类的方法通常设为public,而类的实例变量一般也设为public。

()9.构造方法在创建对象时被调用。

()10.通过点运算符与类对象的引用相连,可以访问此类的成员。

()11.声明为protected 的类成员只能被此类中的方法访问。

()12.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。

()13.类的成员变量可以放在类体的任意位置。

()14.声明为protected 的类成员可以被此类作用域中的任何对象访问。

()15.没有返回值的方法可以用void 来表示,也可以不加。

()二、选择题1. 下面对对象概念描述错误的是:( )A 操作是对象的动态属性B 任何对象都必须有继承性C 对象间的通讯靠消息传递D 对象是属性和方法的封装体2.编译并运行下面的程序,运行结果为:( )public class A {public static void main(String[] args) {A a=new A();a.method(8);}void method(int i) {System.out.println(“int:“+i);}void method(long i) {System.out.println(“long:“+i);} }A 程序可以编译运行,输出结果为int:8B 程序可以编译运行,输出结果为long:8C 程序有编译错误,因为两个method()方法必须定义为静态(static)的D 程序可以编译运行,但没有输出3.下面关于类的说法不正确的是:()A 类是Java 语言中的一种复合数据类型B 类中不包含数据变量和方法C 类是对所有具有一定共性的对象的抽象D Java 语言的类只支持单继承4.能作为类及其成员的修饰符是:()A interface B classC protectedD public5.设x、y 均为已定义的类名,下列声明对象x1 的语句不可能正确的是:()A public x xl=new y(); B public y xl=new x(); C x xl=new x(); D x xl=x();6.面向对象程序设计技术的特点是:()A 可重用性B 可维护性C 表示方法的一致性D 可重用性、可维护性、表示方法的一致性7.下列方法定义中,方法头不正确的是:()A public static x(double a){…}B public static int x(double y){…}C void x(double d)D public int x(){…}8.设已声明了一个类A 的两个对象al、a2,为了初始化a1 和a2,下面语句正确的是:()A al=new(); a2=new();B al=A new(); a2=A new();C al,a2=new A();D al=new A(); a2=new A();9.构造方法何时被调用?()A 类定义时B 使用对象的变量时C 调用对象方法时D 创建对象时10.下列哪个类声明是正确的?()A public abstract class Car{…}B abstract private move(){…}C protected private number;D abstract final class Hl{…}11.下列不属于面向对象程序设计的基本特征的是:()A 抽象B 封装C 继承D 静态12.请看下面的程序段class Person {String name,department; int age;public Person(String n) { name = n; }public Person(String n,int a) { name = n; age = a; } public Person(String n,String d,int a) {//doing the same as two arguments version of constructer //including assignment name=n,age=a } }下面那一选项可以添加到“//doing the same……”处:()A Person(n,a)B this(Person(n,a))C this(n,a)D this(name.age)13.()是一个特殊的方法,用于对类的实例变量进行初始化。

《面向对象程序设计(java)》编程题库(含答案)

《面向对象程序设计(java)》编程题库(含答案)

《面向对象程序设计(java)》编程题库(含答案)《面向对象程序设计(Java)》资源文档——深圳职业技术学院《面向对象程序设计(Java)》编程题库(含答案) 1、已知数组a={4,67,32,78,56,13,90,48,22},编程实现求该数组最大值并输出的方法。

2、编写程序实现求0~150之间的奇数的乘积;3、已知类People里含有属性money初值是20,方法void work(int m)实现增加m到money里,定义它的子类ChinaPeople,重写方法void work(int m)实现把增加m到money里(体现汇率变化)。

4、定义接口Worker,有一个方法login()实现打卡功能。

定义该接口实现类ChinaWorker,给出login()的具体实现,只需输出“我来了~~”即可。

5、使用Scanner类实现从键盘输入一句英文,主程序实现把这句英文的单词按照字典顺序排序输出。

6、使用Scanner类实现从键盘输入若干个双精度数,主程序实现把这些数求和输出。

7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。

8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面《面向对象程序设计(Java)》资源文档——深圳职业技术学院积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。

9、编写一个类People,含有两个属性String 类型的name和int类型的age,定义一个方法speak()输出这两个属性。

如“我是zhanghua,我今年12了”。

编写People的子类Boy,重写方法speak(),输出“我是男孩,我今年***”。

编写People的子类Girl,重写方法speak(),输出“我是女孩,我叫****“。

编写主类,声明一个People的对象p。

Java面向对象测试试题(经典)

Java面向对象测试试题(经典)

《使用Java实现面向对象编程》阶段测试-笔试试卷一、选择题(共25题,每题4分,满分100分)1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。

A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 在Java中,下列关于方法重载的说法中错误的是()。

A. 方法重载要求方法名称必须相同B. 重载方法的参数列表必须不一致C. 重载方法的返回类型必须一致D. 一个方法在所属的类中只能被重载一次3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。

public class Test{public void cal(int x, int y, int z) {}}A. public int cal(int x, int y, float z){ return 0; }B. public int cal(int x, int y, int z){ return 0; }C. public void cal(int x, int z){ }D. public void cal(int z, int y, int x){ }4) 在Java中,下面对于构造函数的描述正确的是()。

A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5) 下面Java代码的运行结果是()。

class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。

Java面向对象编程练习试题包括答案.docx

Java面向对象编程练习试题包括答案.docx

【练习题】 01. 类的成员变量:猜数字游戏:一个类 A 有一个成员变量 v,有一个初值 100。

定义一个类,对 A 类的成员变量 v 进行猜。

如果大了则提示大了,小了则提示小了。

等于则提示猜测成功。

import .*;class A{int v = 100;A(){=v;}}public class b01{public static void main(String args[]){A a = new A();Scanner intput = new Scanner;int intputvalue = ();if(intputvalue>"你的输入大于这个值 ");if(intputvalue<"你的输入小于这个值 ");if(intputvalue=="猜测成功 ");}}【练习题】 02. 类的成员变量:请定义一个交通工具 (Vehicle)的类,其中有:属性:速度 (speed) ,体积 (size)等等方法:移动 (move()) ,设置速度 (setSpeed(int speed)),加速speedUp(),减速speedDown()等等 .最后在测试类Vehicle 它初始化 speed,size 对速度进行改变。

中的 main() 中实例化一个交通工具对象,并通过方法给的值,并且通过打印出来。

另外,调用加速,减速的方法class Vehicle{int speed;int size;void move(){};void setSpeed(int speed){ = speed;}void speedUp(){speed = speed+1;=speed;}void speedDown(){speed = speed-1;=speed;}}public class b01{ public static void main(String args[]){Vehicle a = new Vehicle();(55);=80;();"Speed:"++"\nsize:"+;}}【练习题】 03. 类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。

java面向对象编程题库及答案

java面向对象编程题库及答案

java面向对象编程题库及答案java认证考试正在紧张备考中,为帮助大家更好复习,为同学们带来最新java认证考试题库及答案,欢迎参考学习!要是某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( A )A. 让该类不使用任何关键字B.使用private关键字C. 使用final关键字D.使用protacted关键字指出下面关于继承的哪些表达是正确的,说出理由。

(AD)A. 在java中只允许单一继承B. 在java中一个类只能实现一个接口C. 在java中一个类不能同时继承一个类和实现一个接口D. java的单一继承使代码更可靠4.7 指出下面关于垃圾收集的哪些表达是对的。

(B)A. 实例变量是类得成员变量B. 实例变量用关键字static声明C. 在方法中定义的局部变高了在该方法被执行时创立D. 局部变量在使用前必须被初始化4.8 根据下面给出的代码,判断那个表达是对的(C)Public class Person{static int arr[ ]=new int [10];public static void main(String a[]){System.out.println(arr[1];)}}A. 编译时将发生错误B.编译时正确但是运行时出错C. 输出为0D. 输出为null4.9 (1)一个类中定义的成员变量只能被同一包中的类访问。

下面的那些修饰符可以获得需要的访问控制。

(B)(2)如果类的设计要求它的某给成员变量不能被外部类直接访问。

应该使用下面的那些修饰符获得需要的访问控制。

(A)A.privateB.没有修饰符C. publicD.protected下面的你哪个java源文件代码片段是对的?说出理由(ACD)A.package testpackage;Public class Test{ //do something…}B.import java.io.*;package testpackage;Public class Test{ //do something…}C. import java.io.*;Class Person(//do something…);Public class Test{ //do something…}D. import java.io.*;import java .awt.*;Public class Test{ //do something…}解:选项A是正确的,选项B不对,因为java中的package语句必须是源程序中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其他定义之前,选项C和D是正确的,因为一个源文件中可以有几个类,但最多只能有一个public的,如果有,那么源文件的文件名必须和该类的类名相同。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

2. 解释什么是多态,并给出一个Java中多态的例子。

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

面向对象 练习题

面向对象 练习题

面向对象练习题面向对象练习题面向对象编程是一种常用的编程范式,它将程序设计问题分解成一系列的对象,每个对象都有自己的属性和方法。

面向对象编程的核心思想是把现实世界中的事物抽象成程序中的对象,并通过对象之间的交互来解决问题。

为了提升对面向对象编程的理解和掌握,下面将给出一些面向对象编程的练习题。

1. 设计一个汽车类,要求具有以下属性和方法:- 属性:品牌、颜色、价格- 方法:启动、加速、刹车、熄火2. 设计一个学生类,要求具有以下属性和方法:- 属性:姓名、年龄、性别、成绩- 方法:学习、休息、考试、查看成绩3. 设计一个图书类,要求具有以下属性和方法:- 属性:书名、作者、出版社、价格- 方法:借阅、归还、查看借阅状态、查看图书信息4. 设计一个银行账户类,要求具有以下属性和方法:- 属性:账户名、账号、余额- 方法:存款、取款、查询余额、转账5. 设计一个矩形类,要求具有以下属性和方法:- 属性:宽度、高度- 方法:计算面积、计算周长、判断是否为正方形这些练习题涵盖了面向对象编程中常见的概念和操作。

通过解答这些题目,可以加深对面向对象编程的理解,并提升对类、对象、属性和方法的使用熟练度。

在解答这些题目时,可以先思考每个类应该具有哪些属性和方法,然后根据需求进行实现。

可以使用任何编程语言来完成这些练习题,但建议使用面向对象编程语言如Java、Python等。

除了以上的练习题,还可以尝试设计更复杂的类和对象,如实现一个电商平台的商品类、用户类和订单类,或者实现一个图形界面的计算器类。

通过不断练习和实践,可以逐渐掌握面向对象编程的技巧和思维方式。

总之,面向对象编程是一种重要的编程范式,掌握它对于提升编程能力和解决实际问题非常有帮助。

通过解答上述练习题,可以加深对面向对象编程的理解和掌握,为以后的编程工作打下坚实的基础。

希望大家能够充分利用这些练习题,不断提升自己的编程能力。

Java面向对象编程练习题

Java面向对象编程练习题

Java面向对象编程练习题专题1 初识Java一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(SE)、( EE )、( ME )。

2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath为()。

3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。

4.如果Java源文件中有多个类,那么只能有一个类是()类。

5.Java程序可以分成两类,即()和()。

二、选择题1.作为Java应用程序入口的main方法,其声明格式是(B )A.public static int main(String args[]) B.public static void main(String args[])C.public void main(String args[]) D.public int main(String args[]) 2.下面命令正确的是(B)A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其class文件为FirstApplet.calss,则运行该小程序的命令为(B)A.java FirstApplet B.javac FirstApplet.java C.appletviewer FirstApplet.java D.appletviewer FirstApplet.html4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。

A.bin B.jre C.include D.doc5.Java语言是一种 D 语言。

A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是 D 。

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

面向对象编程练习题专题1 初识Java一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是()、()、()。

2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath为()。

3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。

4.如果Java源文件中有多个类,那么只能有一个类是()类。

二、选择题1.作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[])C.public void main(String args[]) D.public int main(String args[])2.下面命令正确的是()A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为()A.java FirstApplet B.javac FirstApplet.javaC.appletviewer FirstApplet.java D.appletviewer FirstApplet.html4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。

A.bin B.jre C.include D.doc5.Java语言是一种语言。

A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是( )。

A.函数B.过程C.变量D.类7. main()方法的返回值类型是()。

A.boolean B.int C. void D.static8. 下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for9. 、线程是Java的()机制。

A.检查B.解释执行C.并行D.并发专题2 标识符、表达式、数据类型一、填空题1.Java逻辑常量有两个:()和()。

2.比较两个数相等的运算符是:。

4、Java中的八种基本数据类型分别是:char、、、、、、和。

二、选择题1.下面这些标识符哪个是错误的()A.Javaworld B._sum C.2Java Program D.$abc2、下面哪个赋值语句不会产生编译错误()A.char a=’abc’; B.byte b=152; C.float c=2.0; D.double d=2.0;3.下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for4.若变量都已经正确说明,则以下程序段输出为()a=10; b=50; c=30;if(a>b) a=b;b=c;c=a;System.out.println(“a=”+a+” b=”+b+” c=”+c);A.a=10 b=50 c=10 B.a=10 b=30 c=10C.a=50 b=30 c=10 D.a=50 b=30 c=305.下列标识符中,正确的是。

A、1_BackB、$_MoneyC、$-moneyD、2-Forward6.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是。

A、int类型B、double类型C、float类型D、long类型7、对下面的语句执行完后正确的说法是:()int c=’c’/3;System.out.println(c);A.输出结果为21 B.输出结果为22 C.输出结果为32 D.输出结果为338、设有定义int a=12;则执行a*=12;语句后,a的值为:()。

A.144 B.12 C.24 D.0专题3 流程控制语句一、填空题1.在switch语句中的表达式的类型必须是()【存放类型】。

2.break在循环语句中的作用是()。

3.分支语句包括()和()。

4.while循环语句的循环次数(),do-while语句的循环次数(),for语句的循环次数()。

5. continue在循环语句中的作用是()。

专题4 面向对象一、填空题1.如果一个方法不返回任何值,则该方法的返回值类型为。

2.如果子类中的某个方法名、返回值类型和_ ______与父类中的某个方法完全一致,则称子类中的这个方法了父类的同名方法。

3.接口中所有的属性均为__、__ _____和_ _____的4.方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。

5.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。

6.一般Java程序的类主体由两部分组成:一部分是,另一部分是。

7.分别用关键字来定义类,用关键字来分配实例存储空间。

8.当一个类的修饰符为时,说明该类不能被继承,即不能有子类。

9.在Java中,能实现多重继承效果的方式是。

二、选择题1..有一个类A,对于其构造方法的声明正确的是(B)。

//与类同名,没有返回值A.void A(int x){…} B.public A(int x){…}C.A A(int x){…} D.int A(int x){…}2.方法的形参()。

AA.可以没有B.至少有一个C.必须定义多个形参D.只能是简单变量3.return语句(D)A.不能用来返回对象B.只可以返回数值C.方法都必须含有D.一个方法中可以有多个4.main()方法的返回值类型是(C)A.boolean B.intC.void D.static5.编译并运行下面的程序,运行结果是()。

public class A{public static void main(String args[]){A a=new A();a.method(8);//int double默认}void method(int i){System.out.println(“int: ”+i);}void method(long i){System.out.println(“long: ”+i);}A.程序可以编译运行,输出结果为:“int: 8”B.程序可以编译运行,输出结果为:“long: 8”C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是()。

A.interface B.classC.protected D.public7.下列方法定义中,方法头不正确的是()。

A.public static x(double a){…} B.public static int x(double y){…} C.void x(double d){…} D.public int x(){…}8.构造方法在()时被调用。

A.类定义时B.使用对象的变量时C.调用对象方法时D.创建对象时9.下列哪个类声明是正确的()。

A.public abstract class Car{…} B.abstract private move(){…} C.protected private number; D.abstract final class H1{…} 10.下列不属于面向对象程序设计的基本特征的是()。

A.抽象B.封装C.继承D.多态11.有一个类A,对于其构造函数的声明正确的是()。

A.void A(int x){…} B.public A(int x){…}C.A A(int x){…} D.int A(int x){…}12.关键字()表明一个对象或变量在初始化后不能修改。

A.extends B.finalC.this D.finalize13.声明为static的方法不能访问()类成员。

A.超类B.子类C.非static D.用户自定义类14.定义类A如下:class A{int a,b,c;public void B(int x,int y, int z){ a=x;b=y;c=z;}}下面对方法B的重载哪些是正确的()。

A.public void A(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}B.public void B(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}C.public void B(int x,int y){ a=x;b=y;c=0;}D.public B(int x,int y, int z){ a=x;b=y;c=z;}15.编译运行下面的程序,结果是()。

public class A{public static void main(String args[]){B b=new B();b.test();}void test(){System.out.print(“A”);}}class B extends A{void test(){super.test();System.out.print(“B”);}}A.产生编译错误B.代码可以编译运行,并输出结果:AB C.代码可以编译运行,但没有输出 D.编译没有错误,但会产生运行时异常16.已知类关系如下:Class Employee{}Class Manager extends Employee{}Class Director extends Employee{}则下列语句正确的是:()。

A.Employee e=new Manager();B.Director d=new Manager(); C.Director d =new Employee ();D.Manager m=new Director ();17.接口是Java面向对象的实现机制之一,以下说法正确的是()。

A.Java支持多重继承,一个类可以实现多个接口B.Java只支持单重继承,一个类可以实现多个接口C.Java只支持单重继承,一个类可以实现一个接口D.Java支持多重继承,但一个类只可以实现一个接口21.下列方法的声明中不合法的是。

A.float area( ){…}B.void area( ){…}C.area{…}D.int area(int r){…}22、下面哪个包是编程时不需要导入就可以直接使用的。

A. B.ng C.java.sql D.java.util23、调用构造方法是在。

相关文档
最新文档