《Java面向对象基础试题.doc》由会员分享,可在线阅读,更多相关《Java面向对象基础试题.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava面向对象基础试题Java面向对象基础试题一、【必做题】.选择题1、列选项中哪个是类public class Test 的默认构造方法_?(知识点:构造器) A. Test(); B. Test(void); C. public Test(); D. public Test(void); E. public void Test();2、给定下列代码的执行结果是_
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.
3、 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. 代码编译成功,并且打印“
4、s=null” C. 代码编译失败,因为s为被初始化 D.代码编译失败,因为s不可以被引用 E. 代码编译成功,但是运行时抛出NullPointerException6、给定以下代码:(知识点: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行之后
5、C. 在第18行之后(当函数执行完成后) D. 无法确定 E. 垃圾回收器不会回收该对象. 程序分析题1、在指定位置上填写正确的代码:(知识点:static使用)public class CircleStatic static double pi = 3.14; int radius=100; public static void main(String args) System.out.println( _pi_ ); /打印pi CircleStatic c=new CircleStatic ();_ System.out.println(_c.radius_); /打印radius 2、
6、下面的程序有错误,请修正,并说明原因: (知识点: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 r
7、adius; 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(); P
8、erson 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(aaaaaaaaaa
9、aa); public void sayHello() System.out.println(Hello, my name is +name); non-static blockstatic blockaaaaaaaaaaaanon-static blockaaaaaaaaaaaaHello, my name is zhangsanHello, my name is zhangsan.编程题1(1)定义一个人类Person:(知识点:对象的创建和使用) 1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX” 2)有三个属性:名字、身高、体重 (2
10、)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。2(1)定义一个人类Person:(知识点:对象的创建和使用) 1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值 (2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。3(1)定义一个矩形类Re
11、ctangle: 1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。2)有2个属性:长length、宽width3)通过构造方法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
12、方法后,打印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)可以设置动物发出
13、狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7定义一个圆类Circle,描述圆对象。圆有一个属性radius表示半径,还有一个findArea方法用于计算圆的面积。定义一个测试类。给半径赋值为5,并且输出圆的面积。(知识点:对象的创建和使用) 8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。(知识点:对象的创建和使用) (1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;(2) 输出笔记本信息的方法然后编写一个测试类,测试
14、笔记本类的各个方法。9定义一个汽车类Vehicle,要求如下:(知识点:对象的创建和使用) (1)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型),并且所有属性为私有。(2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。(3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。(4)定义一个一般方法run(),用打印语句描述汽车奔跑的功能定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。10. 定义一个时间类,提
15、供设定时间和显示时间的方法,其中设定时间的方法需要校验数据的正确性,并在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,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。(知识点:对象的创建和使用) -