Java面向对象程序设计—习题和答案
《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)之欧侯瑞魂创作1.在MyEclipse中,()视图可以将项目中包含的文件及条理结构展示出来。
CA) PackageB)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)classB) 123_rr C) _lei D) test&123.下列的()选项可以正确用以暗示八进制值8。
0x代表16进制,0代表8进制 DA)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) booleanC) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int暗示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double浮点型B) longC) intD) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不克不及执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和falseA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不成以作为循环条件 AA) i=5B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3]B) x[k]C) x[k+5] D) x[0]12.以下代码的输出结果是()。
java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
Java语言程序设计(面向对象程序设计)

1、下列关于类的描述中,错误的是()。
A.可以将所有类成员的访问权限都设为私有权限B.类可认为是一种高级数据类型C.类包含数据成员和函数成员D.用类所定义出的变量称为对象正确答案:A2、下列关于重用代码的描述中,错误的是()。
A.函数是重用算法代码的语法形式B.类是一种数据类型,因此只能重用数据代码C.结构体类型是重用数据代码的语法形式D.类是同时重用算法代码和数据代码的语法形式正确答案:B3、关于程序开发过程中的程序员角色,下列哪种描述是错误的?A.一个程序员可以使用其他程序员提供的代码,即代码使用者B.一个程序员可以既是代码提供者,同时又是代码使用者C.一个程序员不能既是代码提供者,同时又是代码使用者D.一个程序员可以为其他程序员提供代码,即代码提供者正确答案:C4、关于程序设计方法,下列哪种描述是错误的?A.结构化程序设计分解出的函数是一种算法零件B.程序设计方法是研究如何对大型程序设计任务进行分解的方法C.结构化程序设计分解出的结构体类型是一种数据零件D.面向对象程序设计分解出的类是一种数据零件5、下列哪种思想不属于面向对象程序设计?A.继承B.模块化C.抽象D.封装正确答案:B6、下列关于类的描述中,错误的是()。
A.可以用流程图来描述类的设计B.类是描述客观事物的数据模型C.类的数据成员也被称作属性D.类的函数成员也被称作方法正确答案:A7、按照面向对象程序设计的观点,下列关于对象描述中错误的是()。
A.客观世界中的事物被称作客观对象B.类是描述客观对象的数据模型C.程序中用类定义出的对象被称作内存对象D.同一个类所定义出的两个内存对象可以有不同的成员正确答案:D8、关于面向对象程序设计方法,下列哪种描述是错误的?A.面向对象程序设计方法所设计出的类代码不能重用B.面向对象程序设计方法更便于代码分类管理C.面向对象程序设计方法中的类是客观事物抽象后的数据模型D.面向对象程序设计方法是当今程序设计的主流方法9、假设编写一个教务管理系统,通过分析可抽象出若干个类,其中不应当包括下列哪个类?A.宿舍类B.教师类C.课程类D.学生类正确答案:A10、如果将客观世界中的钟表抽象成一个钟表类,其中不应当包含下列哪个成员?A.设置时间B.显示时间C.功率D.时、分、秒正确答案:C11、下列关于字段成员的描述中,错误的是()。
Java面向对象程序设计_习题解答(耿祥义)

书后习题参考答案习题1 2习题2 3习题3 4习题4 10习题5 11习题6 14习题7 15习题9 16习题12 20习题13 25习题14 27习题15 28习题16 31习题17 39习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。
命令:javac –d . 文件名称.java(3)使用Java解释器(java.exe)运行Java程序。
命令:java 包名.类名3.Java的源文件是由若干个书写形式互相独立的类、接口、枚举等组成。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.新建JAVA_HOME系统环境变量,指向安装目录在系统环境变量path中增加内容:%JAVA_HOME%\bin;新建系统环境变量classpath并填入三项:.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar5. B6. Java源文件的扩展名是.java。
Java字节码的扩展名是.class。
7. D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class和Xiti8.class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread "main" ng.NoSuchMethodError: main执行java xiti8得到的错误提示Exception in thread "main" ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8)执行java Xiti8.class得到的错误提示Exception in thread "main" ng.NoClassDefFoundError:Xiti8/class执行java Xiti8得到的输出结果I'm glad to meet you9.属于操作题,解答略。
java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。
答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。
答案:final3. 在Java中,______关键字用于声明一个类是抽象的。
Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。
如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。
答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。
java面向对象程序设计 习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案Java是一种广泛应用于软件开发的编程语言,而面向对象程序设计(Object-Oriented Programming,简称OOP)则是一种常用的编程范式。
在学习Java的过程中,习题是非常重要的一部分,通过解答习题可以帮助我们巩固所学的知识,并提升编程能力。
本文将为大家提供一些Java面向对象程序设计习题的答案,希望能对大家的学习有所帮助。
1. 编写一个Java类,实现一个简单的计算器功能。
该计算器应该具有加、减、乘、除四种基本运算功能,并能够接受用户输入的两个操作数和运算符。
在计算结果后,将结果输出给用户。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个操作数:");double num1 = scanner.nextDouble();System.out.print("请输入第二个操作数:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("无效的运算符!");return;}System.out.println("计算结果为:" + result);}}```2. 编写一个Java类,实现一个简单的学生管理系统。
java面向对象程序设计 习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案在Java编程中,面向对象程序设计是一种重要的编程范式。
它通过将现实世界中的实体抽象成对象,然后通过对象之间的交互来实现程序的功能。
在这篇文章中,我们将为您提供一些常见的面向对象程序设计习题答案,帮助您更好地理解和掌握这一编程范式。
1. 请编写一个简单的Java类,表示一个学生。
该类应该包括学生的姓名、年龄和学号等属性,并且应该有方法来设置和获取这些属性。
```javapublic class Student {private String name;private int age;private String studentId;public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}}```2. 请编写一个简单的Java类,表示一个图书。
该类应该包括图书的名称、作者和价格等属性,并且应该有方法来设置和获取这些属性。
```javapublic class Book {private String title;private String author;private double price;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}}```通过以上两个例子,我们可以看到面向对象程序设计的特点:将现实世界中的实体抽象成对象,并通过对象的属性和方法来描述和实现这些实体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则顺序执行如下语句后输出结果为:()
Father a;
Child b;
A、我是父类B、我是子类
我是子类我是父类
C、我是父类D、我是子类
我是父类我是子类
5.什么时覆盖,它有什么优点
6.this和super的作用是什么
7.什么是动态绑定
答案:
1.超类、父类、子类
2.引用类型转换
3.B
4.A
5.子类其自身的方法中,若与继承过来的方法具有相同的签名,便构成了方法的覆盖(有的资料称之为方法的重写)。覆盖的主要优点是能够定义各子类的特有行为
7.public class Student {
public String name;
public String age;
public String id
}
8.Java中提供包将不同类组织起来进行管理,借助于包可以方便地组织自己的类代码,并将自己的代码与别人提供的代码库分开管理。
要想将类放入指定的包中,就必须使用package语句,具体语法如下。
9.什么时访问控制,有哪些访问控制?
答案:
1.对象生成功能、消息传递机制、类和遗传机制
2.参数输入→函数/过程代码→结果输出
3.ABC
4.A
5.ABC
6.在创建对象时,他的成员可以由构造器方法进行初始化。构造器是一特殊的方法,它具有和它所在的类完全一样的名字。一旦定义好一个构造器,创建对象时就会自动调用它。
A.类B.函数
C.变量D.数据
5.类之间存在以下几种常见的关系:
A.“USES-A”关系B.“HAS-A”关系
C.“IS-A”关系D.“INHERIT-A”关系
6.什么是构造器,它的作用是什么
7.编写一个Java片段,定义一个表示学生的类,包含学生的姓名、学号、班级。
8.什么是包,如何定义、导入包?
}
}
3.10
1.面向对象的语言通常具有以下特征:___________、___________和___________。
2.面向过程编程模式的程序的处理过程为______________________。
3.面向对象程序设计方法的优点包含:
A.可重用性B可扩展性
C.易于管理和维护D.简单易懂
4. Java中基本的编程单元为:
访问权限可分为4种:公共类型、私有类型、默认类型和保护类型
4.11
1.被继承的类一般称为___________或___________,继承的类称为___________。
2.在继承中发生的强制类型转换为___________。
3.设有下面两个类的定义:
class Person {}
class Student extends Person {
4.局部内部类可以用哪些修饰符修饰
A.publicB.private
C.abstractedD.final
5.内部类分为那几种
6什么是回调
答案
1.一、多
2.interface
3.ACD
4.C、D
5.内部类分为如下几种:
(1)成员内部类,作为外部类的一个成员存在,与外部类的属性、方法并列。
(2)局部内部类,在方法中定义的内部类称为局部内部类。与局部变量类似,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量,和此外围类所有的成员。
8.10
1.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含___________方法的类,在Java Applet里,这个主类是一个系统类___________的子类。
1.11
1.Java起源于___________年
2.Java的特点包含:__________、___________、___________、___________和___________。
3.Java体系结构包含:
A.Java编程语言B.Java类文件格式
C.Java APID.JVM。
4..javac的作用是:
6.7
1. Java中I/O流是由___________包来实现的。
2.自定义的异常类一般直接或间接继承自___________类
3.下面哪种流可以用于字符输入:
A.java.io.inputStreamB. java.io.outputStream
C. java.io.inputStreamReaderD. java.io.outputStreamReader
2.变量主要用来___________,是用标识符命名的数据项,是程序运行过程中可以改变值的量。
3.下面哪些表示符是正确的?
A.MyWorldB.parseXML
C.-valueD.&maybe
4.写出表达式b!=3&&5/a>a+b的结果,设a=3,b=4
A.trueB.false
C.1D.2
5.程序的控制结构分为那几种,分别表示什么含义?
6.
PublicclassMyClass
{
public static void main(String[] args)
{
System.out.println("Hello Java!");
}
}
2.11
1.Java的基本数据类型包含___________、___________、___________、___________、___________、___________、___________和___________。
(3)匿名内部类,没有名字的内部类。匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。
(4)静态内部类,如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。
6.回调是一种常见的程序设计模式,利用回调技术可以处理这样的问题,事件A发生时要执行处理事件A的代码,判断何时发生事件A及何时执行处理的代码是固定的,先行编写完毕,供很多人使用。但事件A的处理代码开放给其他开发人员编写,可以有很多不同的实现,使用时可以注册具体需要的实现来处理。
6.编写Java语言程序,给定文件地址C://myFile/a/b/c/d/a.text,试通过字符串操作获得文件名。
答案
1. byte、short、int、long、char、int、float、double
2.保存数据
3.AB
4.B
5.程序的结构大致可分为三类:顺序、选择和循环。顺序结构即语句按预订顺序依次执行,无需干预。流程的控制也主要体现在“选择”和“循环”。
public int id; //学号
public int score; //总分
public String name; //姓名
publicint getScore(){return score;}
}
类Person和类Student的关系是()。
A、包含关系B、继承关系
C、关联关系D、无关系,上述类定义有语法错误
A、JLabelB、JButton
C、JTextAreaD、JTextField
4.创建一个标识有“开始”按钮的语句是( )。
A、JTextField b = new JTextField(“开始”);
B、JLabel b = new JLabel(“开始”);
C、JCheckbox b = new JCheckbox(“开始”);
选择对应于分支结构,利用条件可以实现程序中的哪些部分要执行而哪些部分要被跳过。条件模拟了日常中的选择行为。
循环结构可以使特定的代码块反复执行。当然,循环不是无限次的执行代码块,它根据条件判断循环的开始和结束。当有大量要处理的代码,而且不能确定这些代码需要执行多少次时,循环就显得尤其有用。
6.
public class MyClass {
AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1的,也就是说AWT是Swing大厦的基石
6.适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了大量编写不必要代码的情况
D、JButton b = new JButton(“开始”);
5.什么是SWT、SWING,二者有什么区别?
6.什么是事件适配器
答案:
1.键盘、鼠标、Frame
2.添加可视化组件
3.A
4.D
5.Java中用来进行图形用户界面开发的工具包为AWT。AWT是“Abstract Window Toolkit”的缩写,又称为“抽象窗体工具包”。
public static void main(String[] args) {
String s = "C://myFile/a/b/c/d/a.text";
int i = stIndexOf("/");
String s2 = s.substring(i + 1, s.length());
System.out.println(s2);
4.下面哪些情况可以引发异常:
A.数组越界B.指定URL不存在
C.使用thow语句抛出D.使用throws语句
5.基本的I/O流主要包括哪些内容
6.简述Java异常处理机制