Java面向对象基础试题

Java面向对象基础试题
Java面向对象基础试题

一、【必做题】

Ⅰ.选择题

1、列选项中哪个是类public class Test { }的默认构造方法___?(知识点:构造器)

A. Test();

B. Test(void);

C. public Test();

D. public Test(void);

E. public void Test();

2、给定下列代码的执行结果是____?(知识点:构造器)

public class A {

void A() {

System.out.println(“Class A”);

}

public static void main(String[] args) {

new A();

}

}

A. Class A

B. 在第2行处抛出异常

C. 编译错误

D. 在第6行处抛出异常

E. 代码执行后没有输出

3、给定以下代码:(知识点:构造器)

1. public class ConstOver {

2. public ConstOver (int x, int y, int z) {

3. }

4. }

下列选项中,哪些可以在ConsOver类中定义成重载的构造方法____:

A. ConstOver ( ) { }

B. int ConstOver ( ) { }

C. ConstOver (int z, int y, byte x) { }

D. Object ConstOver (int x, int y, int z) { }

E. void ConstOver (byte x, byte y, byte z) { }

4、以下代码的执行结果是_____?(知识点:static使用)

A. 编译失败

B. 编译成功,输出“0”

C. 编译成功,输出“1”

D. 编译成功,输出“2”

5、以下代码的执行结果是____?(知识点:类的成员及方法中的变量)

A. 代码编译成功,并且打印“s=”

B. 代码编译成功,并且打印“s=null”

C. 代码编译失败,因为s为被初始化

D.代码编译失败,因为s不可以被引用

E. 代码编译成功,但是运行时抛出NullPointerException

6、给定以下代码:(知识点:Java中回收机制)

12. void start() {

13. A a = new A();

14. B b = new B();

15. a.s(b);

16. b = null;

17. a = null;

18. System.out.println(“start completed”);

}

对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收____?

A. 在第16行之后

B. 在第17行之后

C. 在第18行之后(当函数执行完成后)

D. 无法确定

E. 垃圾回收器不会回收该对象

Ⅱ. 程序分析题

1、在指定位置上填写正确的代码:(知识点:static使用)

public class CircleStatic

{

static double pi = 3.14;

int radius=100;

public static void main(String[ ] args)

{

//打印pi

radius

}

}

2、下面的程序有错误,请修正,并说明原因:(知识点:static使用)

public class CircleStatic {

static double pi=3.14;

int radius=100;

public static void main(String[] args) {

System.out.println(pi);

System.out.println(radius); //错误,非静态成员不能直接被访问。

Circle c=new Circle();

System.out.println(c.radius);

}

}

class Circle {

static double pi=3.14;

int radius;

public Circle(){ }

public Circle(int r) {

radius=r;

}

public static double getPi() {

return pi;

}

public void static showArea() {

System.out.println(pi*radius*radius);//静态方法不能直接访问非静态成员

}

}

3、分析如下程序,写出执行结果:(知识点:对象的创建和使用、静态块的使用)public class BlockDemo{

public static void main(String[] args){

Person p=new Person();

Person q=new Person();

p.sayHello();

q.sayHello();

}

}

class Person{

static int eyeNum;

String name;

int age;

double height;

{ //非静态块

System.out.println("non-static block");

name="zhangsan";

age=18;

height=1.75;

}

static//静态块

{

System.out.println("static block");

eyeNum=2;

}

public Person(){

System.out.println("aaaaaaaaaaaa");

}

public void sayHello(){

System.out.println("Hello, my name is "+name);

}

}

non-static block

static block

aaaaaaaaaaaa

non-static block

aaaaaaaaaaaa

Hello, my name is zhangsan

Hello, my name is zhangsan

Ⅲ.编程题

1.(1)定义一个人类Person:(知识点:对象的创建和使用)

1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”

2)有三个属性:名字、身高、体重

(2)定义一个PersonCreate类:

1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74

2)分别调用对象的sayHello()方法。

2.(1)定义一个人类Person:(知识点:对象的创建和使用)

1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”

2)有三个属性:名字、身高、体重

3)通过构造方法,分别给三个属性赋值

(2)定义一个Constructor类:

1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74

2)分别调用对象的sayHello()方法。3.(1)定义一个矩形类Rectangle:

1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。

2)有2个属性:长length、宽width

3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值

4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。(知识点:对象的创建和使用)

5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。(知识点:对象的创建和使用)

6.(1)定义一个动物类Creature(知识点:对象的创建和使用)

1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音

2)setSnarl(Dog dog)可以设置动物发出狗的声音

3)定义一个outPut()方法,可以输出动物的声音

(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音

(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音

(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音

效果显示:

7.定义一个圆类Circle,描述圆对象。圆有一个属性radius表示半径,还有一个findArea 方法用于计算圆的面积。定义一个测试类。给半径赋值为5,并且输出圆的面积。

(知识点:对象的创建和使用)

8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。(知识点:对象的创建和使用)

(1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;

(2) 输出笔记本信息的方法

然后编写一个测试类,测试笔记本类的各个方法。

9.定义一个汽车类Vehicle,要求如下:(知识点:对象的创建和使用)

(1)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double 类型),并且所有属性为私有。

(2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。

(3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。

(4)定义一个一般方法run(),用打印语句描述汽车奔跑的功能

定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。

10. 定义一个时间类,提供设定时间和显示时间的方法,其中设定时间的方法需要校验数据的正确性,并在main方法中验证。(知识点:对象的创建和使用)

二、【选做题】

1、(1)编写一个时间类MyTime,包含一个构造方法,3个私有成员变量hour,minute,second以及与它们相对应的get与set方法(如hour有getHour和setHour方法,分别表示获得和设置hour),再加上一个转换成字符串的方法toString。(知识点:对象的创建和使用)

(2)编写一个日期类MyDate,包含一个构造方法,3个私有成员变量year,month,day以及与它们相对应的get与set方法,再加上一个转换成字符串的方法toString。(知识点:对象的创建和使用)

(3)编写一个FullTime类,包含一个MyTime类型的私有成员变量time和一个MyDate类型的成员变量date,以及与它们相对应的get与set方法,一个构造方法,再加上一个转换成字符串的方法toString。(知识点:对象的创建和使用)

(4)假设当前时间是2002年7月30日22点12分35秒,编写一个程序,用FullTime类设置时间为以上时间,并打印。(知识点:对象的创建和使用)

2、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。(知识点:对象的创建和使用)

实验一 Java面向对象基础 实验报告

实验一Java面向对象基础、数组实验报告 一、实验目的 1. 理解面向对象编程基本思想 2. 了解类的封装方法,以及如何创建类和对象 3. 掌握面向对象程序设计的方法,了解类的继承性和多态性的作用 4. 掌握Java 中的数组定义、引用 二、实验要求 编写程序时要注意体现面向对象思想,体会不同访问控制符的作用。 1. 编写一个Vehicle类和它的二个子类Bus类和Boat类。(要求:程序要有构造方法重载;要能体现类的多态性) 2. 定义一个由若干个整数组成的数组,要求输出该数组的平均值以及所有的奇数之和。 3. 随机生成30个0-9之间的数字,分别统计0-9这10个数字分别出现了多少次。 三、实验内容及结果 1. 编写一个Vehicle类和它的二个子类Bus类和Boat类。 public class Vehicle { private String color; public Vehicle() { this("black"); } public Vehicle(String color) { this.color = color; } public String toString() { return "this is a " + this.color + " vehicle"; } } class Bus extends Vehicle { private int passagerNumber; public Bus() { this(50, "black"); } public Bus(int number) { this(number, "black"); } public Bus(int number, String color) { super(color); this.passagerNumber = number; } public String toString() {

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

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. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

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

《使用实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在类中,使用以下()声明语句来定义公有的型常量。 A. = 100; B. = 100; C. = 100; D. = 100; 2) 在中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定代码如下所示,在横线处新增下列()方法,是对方法的重载。 { ( x, y, z) {} } A. ( x, y, z){ 0; } B. ( x, y, z){ 0; } C. ( x, z){ }

D. ( z, y, x){ } 4) 在中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是 C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面代码的运行结果是()。 { ; 名字 0; 健康值 ; 性别 () { = 10; = "雄"; ("执行构造方法。"); } () { ("企鹅的名字是" + + ",健康值是" + + ",性别是" + "。"); } ([] ) { = (); (); } } A. 企鹅的名字是,健康值是10,性别是雄。 B. 执行构造方法。

企鹅的名字是,健康值是0,性别是。 C. 企鹅的名字是,健康值是0,性别是。 D. 执行构造方法。 企鹅的名字是,健康值是10,性别是雄。 6) 下列选项中关于中封装的说法错误的是()。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括方法和方法 C. 方法用于赋值、方法用于取值 D. 类的属性必须进行封装,否则无法通过编译 7) 使用实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是()。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性 C. 在赋值和取值方法中,加入对属性的存取限制 D. 编写方法创建对象,调用赋值和取值方法访问属性 8) 分析如下所示的代码,其中关键字的意思是()。 { ; () { ;

JAVA面向对象基础测试题

读书破万卷下笔如有神 JAVA面向对象基础测试题 提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。 1. 程序执行的结果是:()。 01 public class Point{ 02 int y = 7; 03 public void step(int y) { 04 y += y; 05 System.out.println(y); 06 读书破万卷下笔如有神 } 07 public static void main(String[] args) {

08 Point p = new Point(); 09 p.step(10); 10 } 11 } A.14 B.20 C.10 D.17 正确答案:B解析: 2. 读书破万卷下笔如有神 程序的执行结果是:()。 01 public class Question { 02 private int num; 03 public static void main(String [] args){ 04

Question q = new Question(); 05 q.num=13; 06 update(q); 07 System.out.println(q.num); 08 } 读书破万卷下笔如有神 09 public static void update(Question q){ 10 q.num=9; 11 } 12 } A.13 B.9 C.0 D.4

正确答案:B解析: 3. 程序执行的结果是:()。 01 public class Answer { 读书破万卷下笔如有神 02 public static void main(String[] args) { 03 int score = 20; 04 Answer ans= new Answer(); 05 ans.add(score); 06 System.out.println( main:score = + score); 07 } 08 void add(int score) { 09 System.out.println( add:score= + score++); 10

JAVA面向对象基础测试题,继承,封装,多态等测试题

JAVA面向对象基础测试题 提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。 1. 程序执行的结果是:()。 01 public class Point{ 02 int y = 7; 03 public void step(int y) { 04 y += y; 05 System.out.println(y); 06 } 07 public static void main(String[] args) { 08

Point p = new Point(); 09 p.step(10); 10 } 11 } A.14 B.20 C.10 D.17 正确答案:B解析: 2. 程序的执行结果是:()。 01 public class Question { 02 private int num; 03 public static void main(String [] args){ 04 Question q = new Question();

05 q.num=13; 06 update(q); 07 System.out.println(q.num); 08 } 09 public static void update(Question q){ 10 q.num=9; 11 } 12 } A.13 B.9 C.0 D.4 正确答案:B解析: 3.

程序执行的结果是:()。 01 public class Answer { 02 public static void main(String[] args) { 03 int score = 20; 04 Answer ans= new Answer(); 05 ans.add(score); 06 System.out.println(" main:score = " + score); 07 } 08 void add(int score) { 09 System.out.println(" add:score=" + score++); 10 } 11

java面向对象练习题

java面向对象练习题 1定义了一个函数来接收一年并确定它是否是闰年什么是闰年?可以除以4而不是100,或者可以除以400,那么今年是闰年 2年,使用do-while重写猜谜游戏(希望比老师更完美) 3定义了一个接收数组的函数,找到数组中的最大值,并计算数组中所有奇数的和4定义一个函数来接收数组,并将数组中元素的最大值放在数组的第一个位置练习5:输出1-150个奇数并计数 6练习:计算1-100的和。奇数和偶数是什么?练习7:用“边做边做”来计算1到100之间的偶数练习8:用边做边猜数字的游戏9打印99 10的乘法计算1-100个奇数的和 11定义一个函数来执行加法函数操作,而不向调用者返回值 12要求:定义一个函数来比较两个数字的大小,并将最大的数字返回给呼叫者要求:定义一个函数,根据学生的分数将相应的分数返回给调用者。 14要求:定义一个函数做加法函数,直接打印,不需要返回结果给调用者要求1:定义一个函数来接收数组并取出数组中的最大值 16要求2:定义一个接收数组的函数,并将数组中的最大值放在数组的第一个位置17要求3:定义一个接收数组的函数,并将数组中的最大值放在数组的最后一个位置定义一个函数来接收数组并翻转数组中的元素例如:国际[] arr = {1,2,3,4}-{4,3,2,1 }; 19练习:定义接收二维数组的函数,计算二维数组中所有元素的和,并计算奇数

XXXX年龄的方法 29练习:首先编写一个Person类,并计算创建Person的对象的数量练习:描述一种动物。鸟类和动物有名字和年龄属性,而且会移动。鸟类也有名称、年龄、颜色、属性和移动行为。31定义接收无序数组的方法。要对数组进行排序,请使用二分法来查找指定的元素 32描述了三种类型的汽车,宝马和奔驰,它们都有颜色、名称它还具有运行功能定义一个方法可以接收任何汽车对象,定义一个方法可以返回任何汽车对象描述动物、蛇、鱼和三类。编写一个可以接收任何动物对象的方法,定义一个可以接收任何动物类型对象 的方法,并调用该动物类型对象的特定方法34动物、狗和鱼的描述。动物有名字和颜色两种属性,动物有移动的行为。 199狗的一个独特方法是咬人。鱼特有的行为:吹泡泡 35练习:描述三类图形,矩形和圆形。每张图表都有计算面积和周长的方法。 清楚地描述了三类之间的关系 36描述了一类学生,它有两个属性id和name。学生有学习行为功能,但有些学生也在学习过程中赚钱。普通学生:不能通过学习赚钱的学生 可以通过学习赚钱的学生 37描述了图形、矩形、圆形和三个类。定义接收所有图像对象并打印图形对象的周长和面积的方法。定义一个返回任何图形对象的方法38描述了三类汽车,宝马和奔驰。汽车有颜色和名称它还具有运行

2012-2013java面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

Java面向对象知识测试__A卷_答案分析

面向对象部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面描述函数重写错误的是 A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public的//接口所有方法前面都是默认public abstract 2.下面关于类的设计思路描述错误的是 ( ) A. 根据需求定义类所包含的字段(成员变量) B. 根据面向对象的思想要求,隐藏属性和实现细节之后,可以提供公共的访问方式 C. 封装之后的字段在本类内也必须使用get/set方法//private修饰之后可以 在本类中直接使用,不需要通过get/set方法调用 D. 按需求可以在类中定义若干构造方法

3.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填 入()。 class A { public void test() { System.out.println("A类的test()方法"); } } class B extends A { public void test() { System.out.println("B类的test()方法"); } public static void main(String args[]) { } } A. A a = new B(); a.test(); B. A a = new A(); a.test(); C. B b = new A(); b.test(); D. new B().test(); 4.关于封装下面介绍错误的是()。 A. 封装隐藏实现细节 B. 封装提高重用性。 C. 封装提高安全性 D. 只有被private修饰才叫做封装//仅仅是封装的一种

Java面向对象习题

选择题 1、下列关于变量的叙述哪个是错的?() A. 实例变量是类的成员变量。 B. 在方法中定义的局部变量在该方法被执行时创建。 C. 实例变量用关键字static声明。 D. 局部变量在使用前必须被初始化。 2、在Java语言中,下列哪个包是编译器自动导入的?() A. java.applet B. https://www.360docs.net/doc/c213430976.html,ng C. java.io D. java.awt 3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。 A. private B. protected C.friendly D.public 4、下面哪个关键字不是用来控制对类成员的访问的?() A. public B. protected C. default D. private 5、下面哪一个特性不是面向对象编程主要体现的()。 A. 封装性 B. 继承 C. 多态 D. 类 6、不允许作为类及类成员的访问控制符的是()。 A. public B. private C. static D. protected 7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。 A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 8、可以在下面代码段point x处写入的是?() //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9、下列关于变量的叙述哪个是错的?() A、实例变量是类的成员变量。 B、在方法中定义的局部变量在该方法被执行时创建。 C、实例变量用关键字static声明。 D、局部变量在使用前必须被初始化。 10、下列哪个类声明是正确的?() A、abstract final class HI{} B、abstract private move(){} C、protected private number; D、public abstract class Car{}

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

《JA V A语言程序设计》练习题1 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为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 。

Java面向对象试题集

1、面向对象编程的三大特性是() A) 封装,继承,多态B) 封装,重用,继承 C) 继承,抽象,多态D) 封装,灵活,抽象 2、下面关于构造方法的说法正确的是()(多选) A. 构造方法不能被继承 B. 构造方法不能被重写 C. 构造方法不能被重载 D. 构造方法不能声明为private 3、下面关于类的说法,不正确的是() A) 类是同种对象的集合和抽象B) 类属于Java语言中的引用数据类型 C) 对象是类的实例D) 类就是对象 4、封装性可以对类的成员进行访问级别控制,其中限制最严格的是() A) public B) private C) default D) protected 5、以下哪种类成员修饰符可以在不同包的子类中访问() A) static B) private C) default D) protected 6、Java语言中哪个包是被自动导入的() A) java.util B) https://www.360docs.net/doc/c213430976.html,ng C) java.default D) java.io 7、有一个类MyClass,它的构造方法声明正确的是() A) void MyClass(int x) {...} B) Myclass(int x){...} C) public MyClass(int x){…} D) public void MyClass(int x){…} 8、对下列程序说法正确的是() public class Test7{ public static void main(String args[]){ String s1 = "Hello world"; String s2 = "Hello"; s2 = s2 + " world"; System.out.println(s1 == s2); } } A) true B) false C) 编译错误D) Hello world 9、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用 ()关键字来声明父类的这些方法 A) final B) abstract

2Java第二单元练习题-面向对象程序设计基础资料

2面向对象程序设计基础 2.1单项选择题 1.下面关于类的继承性的描述中,错误的是()。 A.继承是在已有的基础上生成新类的一种方法 B.Java语言要求一个子类只有一个父类 C.父类中成员的访问权限在子类中将被改变 D.子类继承父类的所有成员,但不包括私有的成员方法 2.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是()。 A.默认B.protected C.private D.public 3.在类的修饰符中,规定只能被同一包类所使用的修饰符是()。 A.public B.默认C.final D.abstract 4.下列关于子类继承父类的成员描述中,错误的是()。 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.父类不能替代子类

Java面向对象_练习题

Java基础面向对象习题1: 1.面向对象的软件开发有哪些优点? 使用面向对象思想进行开发有以下优点: 1、易维护 采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。 2、质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。 3、效率高 在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。 4、易扩展 由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。 面向对象的软件开发具有以下优点: ●把软件系统看成是各种对象的集合,这更接近人类的自然思维方式。 ●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变 化。这使得按照对象设计出来的系统结构比较稳定。 ●对象包括属性(数据)和行为(方法),对象把数据以及方法的具体实现方式一起封装起 来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性,从而提高了软件的可维护性。 ●支持封装、抽象、继承和多态,提高了软件的可重用性、可维护性和可扩展性 2.在软件系统中,为什么说一个孤立的不对外提供任何服务的对象是没有意义的? 开发软件系统的目的,就是为了让它提供特定服务。从使用者的角度出发,整个软件系统就是一个服务提供者。大的系统由多个子系统组合而成。在系统内部,每个子系统(对象或对象的组合)也都是服务提供者,它们为其它子系统或者所属的大系统提供服务,各个系统之间通过发送消息来互相获得服务。因此,一个孤立的不对外提供任何服务的系统是没有任何意义的 3.列举一些现实生活中的例子,来说明什么是依赖关系、什么是聚和关系,以及什么 是关联关系。 依赖关系:人依赖食物;电视机依赖电;理发师依赖剪刀和吹风机;鱼依赖水聚集关系:电脑由显示器、主机和键盘等聚集而成; 关联关系:公司和员工;银行和客户;老公和老婆 4.列举一些现实生活中的例子,来说明什么是封装,什么是接口。 封装:电脑主机的组件被封装在机箱内;电视机的内部构件也被封装在大壳子内 接口:电脑的键盘上的按键是电脑向人提供的接口;电脑上的USB插口是向移动硬盘提供的接口;电脑上的光盘驱动器是向光盘提供的接口。 5.抽象的最主要的特征是什么? 抽象是指从特定角度出发,从已经存在的一些事物中抽取我们所关注的特性,形成一个新的事物的思维过程。抽象是一种由具体到抽象、由复杂到简洁的思维方式。

Java面向对象试题

Java面向对象试题 共30道题,每题3分,满分90分,60分算及格,不及格的要补考。

1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用()关键字来申明父类的这些方法。(选择一项) a) Final b) Static c) Abstract d) Void 2) 给定两个java程序,如下: public interface Face{ int counter = 40; } public class Test implements Face{ private static int counter; public static void main(String[]args){ System.out.println(++counter); } } Test.java 的编译运行结果是()。(选择一项) a) 40 b) 41 c) 0 d) 1 3) 给定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 4) 给定java代码,如下: abstract class Shape { abstract void draw( ); } 要创建Shape类的子类Circle,以下代码正确的是()。(选择二项) a) class Circle extends Shape{ int draw( ){} }

Java面向对象基础试题

一、【必做题】 Ⅰ.选择题 1、列选项中哪个是类 { }的默认构造方法?(知识点:构造器) A. (); B. (); C. (); D. (); E. (); 2、给定下列代码的执行结果是?(知识点:构造器) A { A() { (“ A”); } ([] ) { A(); } } A. A B. 在第2行处抛出异常 C. 编译错误 D. 在第6行处抛出异常 E. 代码执行后没有输出 3、给定以下代码:(知识点:构造器)

1. { 2. ( x, y, z) { 3. } 4. } 下列选项中,哪些可以在类中定义成重载的构造方法: A. ( ) { } B. ( ) { } C. ( z, y, x) { } D. ( x, y, z) { } E. ( x, y, z) { } 4、以下代码的执行结果是?(知识点:使用) A. 编译失败 B. 编译成功,输出“0” C. 编译成功,输出“1” D. 编译成功,输出“2” 5、以下代码的执行结果是?(知识点:类的成员及方法中的变量)

A. 代码编译成功,并且打印“” B. 代码编译成功,并且打印“” C. 代码编译失败,因为s为被初始化 D.代码编译失败,因为s不可以被引用 E. 代码编译成功,但是运行时抛出 6、给定以下代码:(知识点:中回收机制) 12. () { 13. A a = A(); 14. B b = B(); 15. (b); 16. b = ; 17. a = ; 18. (“ ”); } 对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收? A. 在第16行之后 B. 在第17行之后 C. 在第18行之后(当函数执行完成后) D. 无法确

java面向对象试题

OOP考试题 考试时间:120分钟 考试总分:100分 一、选择题(不定项选择)(2分/题*37 = 74分) 1.类A,B的定义如下: class A { private int a = 100; A() { "A()"); } } class B extends A { private int a = 200; B() { "B()"); } } 运行下面的代码: new B(); 输出的结果是:()。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200 2. 程序执行的结果是:()。 public class Point{ int y = 7;

public void step(int y) { y += y; } public static void main(String[] args) { Point p = new Point(); (10); } } 3.下面代码运行的结果是() class F{ String name = “name_F”; private int age; public F(){} } class C extends F{ String name = “name_C”; public C(){} public static void main(String[] args){ F f = new C(); C c = new C(); +”“+; } } name_C name_F name_C name_F 4.(单选题)程序的执行结果是:()。 public class Question { private int num; public static void main(String [] args){ Question q = new Question();

java面向对象编程类的封装接口和基本类库练习题

面向对象编程基本知识练习 一、判断题 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:8 B 程序可以编译运行,输出结果为long:8

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题 一、选择题 1、下列哪个是Java中的关键字(C )。 A、run B、Integer C、default D、implement 2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。 A、Applet是Container的一种 B、Applet是Window的一种 C、Applet是Component的一种 D、Applet是Panel的一种 3、下列类DataOutputStream的构造方法正确的是(A )。 A、new dataOutputStream(new FileOutputStream(“out.txt”)); B、new dataOutputStream(“out.txt”); C、new dataOutputStream(new writer(“out.txt”)); D、new dataOutputStream(new FileWriter(“out.txt”)); 4、在switch(表达式)语句中,表达式的类型不能为(C )。 A、byte B、char C、long D、int 5、在接口MouseMotionListener中方法正确的是(A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系 https://www.360docs.net/doc/c213430976.html,ng.Exception https://www.360docs.net/doc/c213430976.html,ng.RuntimeException https://www.360docs.net/doc/c213430976.html,ng.IndexOutOfBoundsException https://www.360docs.net/doc/c213430976.html,ng.ArrayIndexOutOfBoundsException https://www.360docs.net/doc/c213430976.html,ng.StringIndexOutOfBoundsException 假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。(B ) A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds Exception。 B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和StringIndexOutOfBoundsException都可以被捕获。 C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch 语句 捕获。 D、方法X不能声明抛弃异常。 7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false 8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为(A )。 A、cat B、Java C、example D、null 9、String s1=new String(“Java”);String s2=new String(s1)则下列哪个说法是正确的(C )。 A、表达式s1==s2为真 B、s1和s2是同一个对象

相关文档
最新文档