Java面向对象练习经典题之欧阳家百创编
Java面向对象编程练习题精编

J a v a面向对象编程练习题精编Lele was written in 2021Java面向对象编程练习题专题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.publicint main(String args[])2.下面命令正确的是(B)A.java B.java AppFirstC.java D.javac AppFirst3.设有一个Java小程序,源程序名为,其class文件为,则运行该小程序的命令为(B)A.java FirstApplet B.javac C.appletviewer D.appletviewer4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。
A.bin B.jre C.include D.doc5.Java语言是一种 D 语言。
A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是 D 。
A.函数B.过程C.变量D.类三、简答题(十分重要)1.Java语言有哪些特点跨平台、一种简单、面向对象、分布式、半编译半解释、健壮、安全、多线程2.JDK安装完成后,如何设置环境变量Path 配置:1)我的电脑—属性—高级—环境变量—系统变量2)新建变量名:path 变量值: jdk中bin的路径 C:\Program Files\Java\ 配置 Class Path :1)我的电脑—属性—高级—环境变量—系统变量2)新建变量名:classpath 变量值: .;jdk中lib的路径;C:\Program Files\Java\3.简述Java应用程序和小应用程序的区别。
java 面向对象 练习题

java 面向对象练习题Java面向对象练习题1. 场景描述:小明是一名学生,他参加了一场Java编程的培训。
在课堂上,老师出了一些面向对象的练习题,希望学生能够通过练习加深对Java面向对象的理解。
2. 第一题:设计一个名为"Person"的类,该类包括以下数据成员:- 姓名(name)- 年龄(age)- 性别(gender)并且提供以下方法:- 构造方法(带参数初始化所有数据成员)- getter和setter方法- 显示个人信息的方法(输出姓名、年龄和性别)编写测试类,创建两个Person对象并设置相关属性后,分别通过调用显示个人信息的方法来展示它们的信息。
3. 第二题:设计一个名为"Student"的类,该类继承自Person类,并且新增以下数据成员:- 学号(studentID)- 成绩(score)其中,学号和成绩均为整型数据。
并且提供以下方法:- 构造方法(带参数初始化所有数据成员)- getter和setter方法- 重写父类的显示个人信息的方法,包括学号和成绩的输出编写测试类,创建一个Student对象并设置相关属性后,通过调用显示个人信息的方法展示其信息。
4. 第三题:设计一个名为"Teacher"的类,该类继承自Person类,并且新增以下数据成员:- 工号(teacherID)- 工龄(workingYears)其中,工号为字符串类型,工龄为整型数据。
并且提供以下方法:- 构造方法(带参数初始化所有数据成员)- getter和setter方法- 重写父类的显示个人信息的方法,包括工号和工龄的输出编写测试类,创建一个Teacher对象并设置相关属性后,通过调用显示个人信息的方法展示其信息。
5. 第四题:设计一个名为"Shape"的抽象类,该类包括以下数据成员:- 形状名称(name)并且提供以下方法:- 构造方法(带参数初始化形状名称)- 抽象方法"calculateArea",用于计算形状的面积设计并实现两个继承自Shape类的具体子类:- 圆形类(Circle):新增数据成员半径(radius),重写calculateArea方法来计算圆形的面积(3.14 * 半径 * 半径)- 矩形类(Rectangle):新增数据成员长度(length)和宽度(width),重写calculateArea方法来计算矩形的面积(长度 * 宽度)编写测试类,创建一个Circle对象和一个Rectangle对象并设置相关属性后,分别调用calculateArea方法来计算它们的面积,并输出结果。
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面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。
2. 描述Java中接口和抽象类的区别。
3. 什么是Java中的继承?请举例说明如何使用继承。
三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。
为每个属性提供getter和setter方法。
2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。
为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。
3. 创建一个接口`Movable`,包含一个方法`move()`。
然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。
四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。
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基础入门习题答案之欧阳音创编

Java 基础入门》习题答案第1章Java 开发入门一、填空题1、Java EE、Java SE、Java ME 2、JRE3、javac4、bin5、path、classpath 二、选择题1、ABCD 2、C 3、D 4、B 5、B 三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、JRE(Java Runtime Environment,Java 运行时环境),它相当于操作系统部分,提供了Java 程序运行时所需要的基本条件和许多Java 基础类,例如,IO 类、GUI 控件类、网络类等。
JRE 是提供给普通用户使用的,如果你只想运行别人开发好的Java 程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Development Kit,Java 开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java 开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK 中已经包含了JRE 部分,初学者安装JDK 后不必再去下载和安装JRE 了。
四、编程题public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java 程序!"); } }第2章Java 编程基础一、填空题1、class 2、true 和false 3、单行注释、多行注释、文档注释4、基本数据类型、引用数据类型5、1、2、4、8 6、& && | || 7、0 8、59、34 10、56 二、判断题1、错2、对3、错4、对5、错三、选择题1、AD 2、AD 3、C 4、ABCD 5、C 6 、A 7、AC 8、A 9、B 10、A 四、程序分析题1、编译不通过。
java面向对象编程练习题答案

java面向对象编程练习题答案一、选择题1. 以下哪个是Java面向对象编程的三个基本特征?A. 封装、继承、多态B. 抽象、封装、继承C. 继承、多态、抽象D. 封装、继承、抽象答案:A2. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. abstractD. final答案:A3. 以下哪个是Java中的访问修饰符?A. publicB. staticC. voidD. main答案:A4. 以下哪个是Java中创建对象的语法?A. new Object();B. new ClassName();C. new ClassName().method();D. ClassName();答案:B5. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsB. overrideD. abstract答案:A二、简答题1. 简述Java面向对象编程中的封装性。
答案:封装性是面向对象编程的一个基本概念,它指的是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
封装性有助于提高代码的安全性和可维护性。
2. 什么是继承?继承在Java中是如何实现的?答案:继承是一种机制,允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。
在Java中,继承是通过关键字`extends`来实现的。
3. 什么是多态?Java中如何实现多态?答案:多态是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态主要通过方法重载和方法重写来实现。
三、编程题1. 创建一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。
然后创建两个类`Dog`和`Cat`,它们继承自`Animal`类,并分别实现`makeSound()`方法。
答案:```javaabstract class Animal {abstract void makeSound();}class Dog extends Animal {public void makeSound() {System.out.println("Woof!");}}class Cat extends Animal {public void makeSound() {System.out.println("Meow!");}}```2. 编写一个Java程序,使用封装性来创建一个名为`Student`的类,该类包含私有属性`name`和`age`,以及相应的公共方法来设置和获取这些属性。
java面向对象编程练习题答案

java面向对象编程练习题答案Java面向对象编程练习题答案Java面向对象编程是计算机科学中非常重要的一部分,它是一种编程范式,通过它可以更好地组织和管理代码。
在学习Java面向对象编程时,经常会遇到一些练习题,下面我们来看一些常见的练习题及其答案。
1. 编写一个Java类,实现一个简单的学生信息管理系统。
```javapublic class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public String getName() {return name;}public int getAge() {return age;}public String getGender() {return gender;}public void setName(String name) { = name;}public void setAge(int age) {this.age = age;}public void setGender(String gender) {this.gender = gender;}}```2. 编写一个Java类,实现一个简单的图书管理系统。
```javapublic class Book {private String title;private String author;private int year;public Book(String title, String author, int year) {this.title = title;this.author = author;this.year = year;}public String getTitle() {return title;}public String getAuthor() {return author;}public int getYear() {return year;}public void setTitle(String title) {this.title = title;}public void setAuthor(String author) { this.author = author;}public void setYear(int year) {this.year = year;}}3. 编写一个Java类,实现一个简单的汽车租赁系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA程序作业题
欧阳家百(2021.03.07)
1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。
2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。
3、建立三个类:居民、成人、官员。
居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。
要求每个类的字段都以属性的方式对外提供数据输入输出的功能。
4、编写一个类,其中包含一个排序的方法sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。
5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private以及protected数据成员及方法。
然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。
要求注明在试图访问所有类成员时哪些语句会产生编译错误。
7.创建一个类包含有protected数据。
在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据
9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。
1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。
2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。
不要为C创建构造函数。
3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。
4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?
10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
3) 在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。
11. 创建一个类,它存储一个int数据成员MyNumber,并给该数据成员创建属性,当该数据成员被存储时,将其乘以100;当其被读取时,将其除以100。
12. 定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed(最大速度)、Weight(重量)等字段。
然后以该类为基类,派生出bicycle、car等类。
并编程对该派
生类的功能进行验证。
13.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。
14.编写一个程序,设计一个点类Point,实例化两个点之后,能调用其方法求两个点之间的距离。
15、写一个学生类,包括属性:学号,班号,姓名,年龄,性别;要求用无参构造,
方法获得:学号,班号,姓名,年龄(只能小于100岁,大于1,否则重新输入),
性别(只能男或者女,否则重新输入),最后在主函数输出你对一个学生对象赋值的信息。
16.创建一个employee类,该类中姓名、街道地址、市、省和邮政编码。
把表示构造函数、changname()、display()的函数的原型放在类定义中,构造函数初始化每个成员,display()函数把完整的对象数据打印出来。
17. 编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。
然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩。
最后在Main函数中对student类的功能进行验证。
18 创建一程序,该程序包括一个筛子类,后者有三个数据成员,即筛子的面数,筛子的点数以及包含随机数类的静态数据成员。
为这个类声明一个名为roll()的成员方法,它以随机的方式返回
下一次掷筛子得的点数。
19.(1)定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字,生命值和等级 3 个属性,定义一个构造函数完成对生命值和等级的初始化,分别赋初值为100,1。
同时实现名字的输入和英雄信息的输出。
(2)在上一题的基础上,为英雄再定义拥有一个参数的构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。
(3)在上两英雄类型的基础上,为英雄添加一个基本战斗的方法,该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。
再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量。
20、设计一个BankAccount类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。
BankAccount类包括,账号(BankAccountId)、开户日期Date(日期),Money(金额),Rest(余额)。
另有一个构造函数和三个成员函数Bankin()(处理存入账),Bankout()处理取出账)和和一个负责生成账号的自动增长的函数。
21、编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。
思路:设计一个学生类Stud,除了包括no(学号)、name(姓名)、和deg(成绩)数据成员外。
有两个静态变量sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg(),它用于计算平均分。
22.编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。
思路:设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有成员函数disp(),用于输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。
在main()函数中定义了一个对象数组用于存储输入的学生数据。
23编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在80~89分的学生数据。
思路:设计一个学生类Stud,包括no(学号)、name(姓名)和deg(成绩)数据成员,和成员函数disp(),用于只输出成绩在80~89分数段的学生数据。
在main()函数中定义了一个学生对象数组,用于存储输入的学生数据。
24.编写一个程序,统计学生成绩,其功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前%70的学生定为合格(PASS),而后30%的学生定为不合格(FAIL)思路:设计一个类student,包含学生的姓名和成绩等数据。
设计一个类Compute: sort()、disp(),它们分别用于按成绩排序和输出数据。
25.设计一个词典类Dic,每个单词包括英文单词及对应的中文含义,并有一个英汉翻译成员函数,通过查词典的方式将一段英语翻译成对应的汉语。
思路:字典项类DicItem包括EngLish(英语单词)、Chinese(对应中文含义)数据成员,字典类包括一个字典项类的列表,包含Add()(添加单词)和trans(英汉翻译)成员函数。