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 面向对象 练习题

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. 类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。
面向对象测试题及答案

面向对象测试题及答案一、选择题(每题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`方法以显示电动汽车启动的信息。
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面向对象编程中接口与抽象类的区别,并给出使用场景。
面向对象练习题

面向对象练习题一、选择题1. 在面向对象编程中,以下哪个概念不是面向对象的核心概念?A. 封装B. 继承C. 多态D. 函数2. 以下哪个选项是Java语言中实现多态的方式?A. 通过继承B. 通过接口C. 通过重载D. 通过重写3. 在面向对象编程中,一个类可以有多少个父类?A. 0个或1个B. 1个C. 多个D. 无数个4. 以下哪个关键字在Java中用于定义一个类?A. structB. classC. interfaceD. enum5. 以下哪个是Java中创建对象的关键字?A. newB. createC. instanceD. object二、填空题6. 在面向对象编程中,______ 是指将数据和操作这些数据的方法结合在一起。
7. 一个类可以包含______ 和______ 两种成员。
8. 封装的目的是______ 数据,并对外部隐藏内部细节。
9. 继承可以使得子类获得父类的______ 和______。
10. 多态性允许不同类的对象对同一消息做出响应,但具体______ 取决于对象的实际类型。
三、简答题11. 简述面向对象编程的三大特性,并举例说明它们在实际编程中的应用。
12. 解释什么是接口,并说明接口与抽象类的区别。
13. 描述如何使用Java实现一个简单的类,并说明如何创建该类的实例。
四、编程题14. 编写一个Java类`Person`,包含属性`name`和`age`,以及一个方法`introduce()`,该方法输出个人信息。
15. 假设你已经有一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。
编写一个名为`Dog`的类,继承自`Animal`,并实现`makeSound()`方法,使得`Dog`对象调用该方法时输出"Woof!"。
16. 创建一个Java程序,包含一个名为`Vehicle`的类,它有一个属性`speed`和一个方法`increaseSpeed(int increment)`。
《Java面向对象编程》练习题

专题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,则运行该小程序的命令为()4.JDK装置完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。
A.bin B.jre C.include D.doc5.Java语言是一种__语言。
A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是__。
A.函数B.过程C.变量D.类三、简答题(十分重要)1.Java语言有哪些特点?2.JDK装置完成后,如何设置环境变量?4.简述Java应用程序的开发过程专题2 标识符、表达式、数据类型一、填空题1.Java逻辑常量有两个:()和()。
2.写出下列表达式的运算结果,设a=2,b=-4,c=true。
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:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA面向对象结课考试题
班级_______ 姓名________得分___________
1下列程序编译或运行的结果是。
()
public static void main(String args[]){
int a = 10, b,c;
if(a>50){
b=9;
}
c = b + a;
System.out.println(c);
}
A.10
B. 19
C.9
D.编译错误
2、已知’1’的ascii码值为31下列语句片段中,four 的值为( )
int three = 3;
char one = ‘1’;
char four = (char)(three+one);
A. 3
B. 1
C. 31
D. 4
3、下列代码的运行结果是( )
public static void main(String[] args){
int a = 7;
System.out.println(a%3);
}
A 6
B 2
C 5
D 1
4、以下程序的输出结果为( )。
public static void main(String[]args) {
int x = 1, y = 1, z =1;
if(x--==1&&y--==1||z--==1)
System.out.println(“x=” +x+”,y=” +y+”,z=” +z);
}
A x=0, y=1,z=1
B x=0,y=2,z=2
C x=0,y=2,z=1
D x=0,y=0,z=1
5、下列代码段编译和运行的结果是()
public static void main(String args[]){
String str = “null”;
if(str==null){
System.out.println(“null”);
}else if(str.length()==0){
System.out.println(“zero”);
}else {
System.out.println(“some”);
}
}
A null
B zero
C some
D 编译错误6、下列代码的运行结果是():
public class Animal{
public String noise(){
return “peep”;
}
public static void main(String[] args){
Animal animal = new Dog();
Cat cat = (Cat)animal;
System.out.println(cat.noise());
}
}
class Dog extends Animal{
public String noise(){
return “bark”;
}
}
class Cat extends Animal{
public String noise(){
return “meow”;
}
}
A. peep
B.bark
C.meow
D.编译错误
E.抛出运行时异常
7、关于下列代码说法正确的是( )
public class Foo{
public int add(int a,int b){
return a+b;
}
public static void main(String[] args){
Foo foo= null;
System.out.println(foo.add(10,20));
}
}
A. 编译错误
B. 正常运行,但无结果输出
C.30 D NullPointerException
8、程序的执行结果是( )
public class Test{
int x;
public static void change(Test t){
t.x = 3;
}
public static void main(String[] args){
Test t = new Test();
t.x = 5; change(t);
System.out.println(t.x);
}
}
A 5
B 3
C 0
D 4
9、关于下列代码说法正确的是( )
public class A{
public void doit(){}
public String doit(){
return “a”;
}
public double doit(int x){
return 1.0;
}
}
A 无编译错误
B 代码public String doit(){ 行,出现编译错误
C 代码public double doit(int x){行,出现编译错误
D. 代码return “a”; 行处出现编译错误
10、下列代码的运行结果是()
String test = “This is a test”;
String[] tokens = test.split(“\\s”);
System.out.println(tokens.length);
A 0
B 1
C 3
D 4
11. 下列哪些数据类型不属于基本数据类型:()
A. boolean B int C. String D. short
12. 下列哪个写法是正确的:( )
A. boolean b = (boolean)3;
B. int a = (int)true;
C. int a = false;
D. long b = (long)3.14
13.下面哪个语句是正确的
A short s = 256;
B String s = …Hello world‟;
C int x = 12.5;
D char c = “a”;
14. Java 编译输出文件的后缀是( )
A .exe
B .java
C .class
D .obj
15. 如果类中的成员只能被子类或同一包中的类访问,那么声明该成员时应使用下面哪个修饰符
A private
B package
C protected
D public
16. import语句的作用是 ( )
A导入包中成员
B创建包
C既可导入包成员,也可创建包
D访问控制
17.下面哪些标识符是合法的
A s1
B $1
C _1
D 1s 18.下列有关Java语言的叙述中,正确的是 ( )
A、Java是不区分大小写的
B、源文件名与public类型的类名必须相同
C、源文件名其扩展名为.jar
D、源文件中public类的数目不限
19 定义一个接口必须使用的关键字是()
A、public B class C interface D static 20. void的含义:()
A.方法没有返回值 B.方法体为空
C.没有意义 D. 定义方法时必须使用
21.下列有关继承的说法。
正确的是:( )
A. 子类能继承父类的所有方法和属性
B. 子类能继承父类的非私有方法和属性
C. 子类只能继承父类public方法和属性
D. 子类能继承父类的方法,而不是属性。
22 设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。
A 3
B 3. 5
C 4
D 5
23 只有自己可以访问的访问控制符的是( )。
A. public
B. private
C. static
D. protected
24 在类的定义中可以有两个同名函数,这种现象称为函数()
A封装 B继承 C覆盖 D 重载25.下列可以被任何类访问的修饰符是()
A.private B.public C.protected D.final。