Java面向对象测试

合集下载

使用Java实现面向对象编程 阶段测试 机试试卷与参考答案

使用Java实现面向对象编程 阶段测试  机试试卷与参考答案

一、语言和环境A、实现语言JavaB、环境要求JDK 6.0、MyEclipse7.5、Oracle10g、PL/SQL Developer二、功能要求开发基于控制台的留言板系统。

具体要求如下:(1)显示留言板系统主菜单,包括显示留言、添加留言和退出系统三项。

(2)显示所有留言信息:包括各条留言的留言人、留言时间、留言标题和留言内容。

(3)用户添加留言:需要输入留言人、留言标题、留言内容,留言时间取当前时间。

(4)退出系统。

系统运行界面如图-1所示。

三、类的设计采用DAO模式开发此系统,需要定义如下类留言实体类(Message)✧留言Id(id)✧留言人(userName)✧留言标题(title)✧留言内容(contents)✧留言时间(createTime)数据库连接和关闭类(BaseDao)留言DAO接口(MessageDao)留言DAO实现类(MessageDaoOracleImpl)留言业务类(MessageService)Main类四、具体要求及推荐实现步骤1、创建数据库表message,添加测试数据不少于2条。

2、创建序列messageSeq,用于实现message表的主键自增。

3、创建实体类Message,根据业务提供需要的构造方法和setter/getter方法。

4、创建BaseDao类,实现数据库连接和关闭功能。

5、创建DAO接口MessageDao,定义查询所有留言、添加留言的方法。

6、创建DAO实现类MessageDaoOracleImpl,继承BaseDao类,实现MessageDao接口,使用JDBC完成相应数据库操作。

7、创建业务类MessageService,完成在控制台显示留言信息和用户添加留言操作。

8、创建Main类,启动和运行系统。

图-1 系统运行界面一、选择题(2分/题)1. char a[3],b[] = "China"; a=b; System.out.print (""+a); 在java 语言中,运行上面的程序段后将输出(d )。

Java面向对象程序设计智慧树知到答案章节测试2023年

Java面向对象程序设计智慧树知到答案章节测试2023年

第一章测试1.下列选项中,可以正确配置classpath的命令是() A:set classpath=C:Files.0_15 B:classpath set : C:Files.0_15 C:classpath set =C:Files.0_15 D:set classpath : C:Files.0_15 答案:A2.在JDK安装目录下,用于存放可执行程序的文件夹是() A:bin B:db C:jreD:lib 答案:A3.下面关于Java程序的描述中,错误的是() A:不同操作系统上的Java虚拟机是相同的 B:Java程序运行时,必须经过编译和运行两个步骤。

C:.class 格式的文件是用来运行的 D:.java格式的源文件是用来编译的答案:A4.下列选项中,哪些选项用于构成JDK开发环境()。

A:Java运行工具B:Java编译工具 C:Java文档生成工具 D:Java打包工具答案:ABCD5.下列关于使用Javac命令编译后生成文件的说法中,正确的是() A:编译后生成文件的后缀名为.class B:编译后生成的文件可以在Java虚拟机中运行C:编译后生成的文件为二进制文件 D:编译后生成文件的后缀名为.java 答案:ABC6.下列目录中,哪些属于JDK安装后的子目录() A:jre目录 B:lib目录C:include目录 D:demo目录答案:ABC7.lib是library的缩写,用于存放Java类库或库文件。

( ) A:对 B:错答案:A8.如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。

( ) A:错 B:对答案:B9.在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。

( ) A:对 B:错答案:A10.Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。

Java面向对象测试题(一)

Java面向对象测试题(一)

Java面向对象测试题(一)注:测试时间:3小时编程题在电脑上编写,保存在已学生名字为文件名的文件夹中一、选择题(共30分,每题1分<多选、少选、错选不得分>)1、下面有关Java异常处理模型的说法错误的是()。

a)一个try块只能有一条catch语句b)一个try块中可以不使用catch语句c)Catch块不能单独使用,必须始终与try块在一起d)Finally块不能单独使用,必须始终与try块在一起2、下列选项中关于Java中super关键字的说法错误的是()。

a)super关键字是在子类对象内部指代其父类对象的引用b)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类c)子类可以通过super关键字调用父类的方法d)子类可以通过super关键字调用父类的属性3、下列选项中关于Java中this关键字的说法错误的是()。

a)this是在对象内部指代对象自身的引用b)this关键字可以在类中的任何位置使用c)this只和特定的对象关联,而不和类关联d)同一个类的不同对象有不同的this4、在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。

a)equals(Object obj)b)getClass()c)toString()d)trim()5、给定如下Java代码,关于super的用法,以下描述正确的是()。

class C extends B{public C(){super();}}a)用来调用类B中定义的super()方法b)用来调用类C中定义的super()方法c)用来调用类B的无参构造方法d)用来调用类B中第一个出现的构造方法6、在Java中,有如下两个类Student和Person。

如果Student是Person的子类,则下列声明对象x的语句中错误的是()。

a)Person x = new Student()b)Person x = new Person()c)Student x = new Person()d)Student x = new Student()7、下列对Java中的继承描述错误的说法是()。

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; 企鹅的名字是null,健康值是10,性别是雄。

B. 执行构造方法。

企鹅的名字是null,健康值是0,性别是null。

C. 企鹅的名字是null,健康值是0,性别是null。

JAVA考核题-面向对象选择题(答案)

JAVA考核题-面向对象选择题(答案)

北润JAVA考核-面向对象第一部分英语测试(每题分,共分)第二部分知识点测试(分)一、选择题(每题2分,共110分)1.下面关于变量及其作用范围的陈述哪个是不对的?(B )A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2.下面哪条语句把方法声明为抽象的公共方法?(B )A.public abstract method(); B.public abstract void method();C.public abstract void method(){} D.public void method() extends abstract;3.若在某一个类定义中定义有如下的方法:final void aFinalFunction( ){}则该方法属于( C )。

A、本地方法B、静态方法C、最终方法D、抽象方法4.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )。

A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] args)D、public void main(String arg[ ])5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为( C )。

A、隐藏B、覆盖C、重载D、Java不支持此特性6.下列关于构造方法的叙述中,错误的是(C )A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用7.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问8.类Test1定义如下:1. public class Test1{2.public floataMethod(float a, float b){}3.4.}将以下哪种方法插入行3是不合法的。

Java面向对象期末模拟试卷A

Java面向对象期末模拟试卷A

Java面向对象期末模拟试卷A分值100一、选择题(每小题2分,共40分)1.以下关于类的结构的说法正确的是()A.类只能包含一个构造方法B.类可以没有属性C.类只能包含方法D.类只能包含属性2.面向对象的特点是()A.继承、封装、多态 B.继承、接口、对象C.方法、继承、类 D.接口、继承、类3. 在java中,以定义了两个接口B和C,要定义一个实现这两个接口的类,以下语句的正确的是( )A.interface A extends B,CB.interface A implements B,CC.class A implements B,CD.class A implements B,implements C4.在Java中,关键字()使类不能派生出子类。

A.finalB.privateC.publicD.static5.在Java中,下面关于抽象类的描述正确的是( )。

A.抽象类可以被实例化B.抽象类里面一定有抽象方法C.抽象类中的方法必须都是抽象的D.声明抽象类必须带有关键字abstract6. 给定java代码,如下,编译运行后,结果是 ( )。

public class Test{static String s;public static void main(String args[ ]){char c=s.charAt(0);System.out.println(c);}}A. 编译错误B. 运行期异常,异常类型为 NullpointerExceptionC. 运行期异常,异常类型为 ArithmeticExceptioinD. 运行正常,但无输出内容7.下面程序运行结果为:()public class Test{public static void main(String[] args){new Test().test();}public void test(){try{System.out.print("try");}catch(Exception ex){System.out.print("catch");}finally{System.out.print("finally");}}}A. tryB. try catchC. try finallyD. try catch finally8. 关于继承的说法正确的是()A.子类将继承父类所有的属性和方法。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题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面向对象试题

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

A.A() 100B() 200B.A() 200B() 200C.B() 200A() 100D.B() 200A() 2002.程序执行的结果是:()。

public class Point{int y = 7;public void step(int y) {y += y;System.out.println(y);}public static void main(String[] args) { Point p = new Point();p.step(10);}}A.14B.20C.10D.173.下面代码运行的结果是()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();System.out.println( +”“+); }}_C name_C_C name_F_F name_C_F name_F4.(单选题)程序的执行结果是:()。

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

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

面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下面描述函数重写错误的是A. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的//接口所有方法前面都是默认public abstract2.下面关于类的设计思路描述错误的是 ( )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.关于封装下面介绍错误的是()。

java面向对象实验报告

java面向对象实验报告

java面向对象实验报告《Java面向对象实验报告》摘要:本实验报告旨在探讨Java面向对象编程的基本概念和实践方法。

通过实验,我们将学习如何创建类、对象、封装、继承和多态等面向对象的特性,并通过实际代码演示这些概念的应用。

本报告将详细介绍实验过程和结果,并总结所得到的经验和教训。

一、实验目的1. 了解面向对象编程的基本概念和原则2. 掌握Java语言中类、对象、封装、继承和多态的使用方法3. 通过实验加深对面向对象编程的理解和掌握二、实验环境1. Java开发环境:Eclipse/IntelliJ IDEA等2. Java SDK版本:1.8及以上三、实验内容1. 创建一个简单的Java类2. 创建对象并调用对象方法3. 实现类的封装和访问控制4. 实现类的继承和方法重写5. 实现类的多态四、实验步骤1. 创建一个名为Person的Java类,包含姓名和年龄两个私有属性,并提供公有的get和set方法进行访问和修改。

2. 创建一个名为Student的子类,继承Person类,并重写父类的get方法。

3. 创建一个名为Teacher的子类,继承Person类,并重写父类的get方法。

4. 创建一个名为Main的主类,实例化Person、Student和Teacher对象,并调用其方法进行测试。

五、实验结果1. 成功创建了Person、Student和Teacher三个类,并实现了类的封装、继承和多态。

2. 通过测试,验证了类的封装和访问控制的有效性。

3. 通过测试,验证了类的继承和方法重写的有效性。

4. 通过测试,验证了类的多态的有效性。

六、实验总结通过本次实验,我深刻理解了面向对象编程的重要性和优势,掌握了Java语言中面向对象编程的基本概念和实践方法。

在今后的学习和工作中,我将继续加强对面向对象编程的理解和应用,不断提高自己的编程水平。

七、实验感想通过本次实验,我对Java面向对象编程有了更深入的了解,也更加熟练地掌握了面向对象编程的基本概念和实践方法。

Java测验(基础编程和面向对象)及答案

Java测验(基础编程和面向对象)及答案
A. 0
B. 1 C. 2 D. 3 E. 4 F. None
31、Java中哪些是合法的修饰府? A. private B. public C. protected D. protect E. friend
32、如果一个类变量只能在同一包内被访问可用那个修饰符? A. private B. public C. protected D. 不用修饰 E. final
if(i){ System.out.println("Hi"); } (B).boolean b=true; boolean b2=true; if(b==b2) { System.out.println("So true"); } (C).int i=1; int j=2; if(i==1,j==2)
System.out.println("OK"); (D).int i=1;
int j=2; if(i==1&|j==2) System.out.println("OK");
14、如下代码 class Test{ private int m; public static void fun() { // some code... } }
15、如何才能载方法 fun()中直接访问变量m? A. 改变 private int m 为 protected int m B. 改变private int m为public int m C. 改变private int m为static int m D. 改变private int m to int m
25、下面哪些可正确的创建一个数组 A. float f[][] = new float[6][6]; B. float []f[] = new float[6][6]; C. float f[][] = new float[][6]; D. float [][]f = new float[6][6]; E. float [][]f = new float[6][];

java面向对象考题和答案

java面向对象考题和答案

1.下面代码的输出结果是A.300 300B.100 100C.300 100D.100 3002.程序执行的结果是:::x =" + x++; }}A.doStuff:x =7B. main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:A.cB.iC.dD.s5.程序执行的结果是:A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:A.输出:0000B.输出:4321C.代码public EmployeeString id {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo { / more code here / }B. protected void foo { / more code here / }C. public void foo { / more code here / }D. private void foo { / more code here / }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base { public static final String FOO = "foo";A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount;public double getCommision {return getSalesAmount 0.15;estA {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount { return 1230.45; }B.public double getSalesAmount { return 1230.45; }C.private double getSalesAmount { return 1230.45; }D.protected double getSalesAmount { return 1230.45; }20.关于下列代码说法正确的是:public interface A { public void doSomethingStringthing;}public class AImpl implements A { public void doSomethingString msg { }}public class B { public A doit { return null; } public String execute { return null; }}public class C extends B { public AImpl doit { return null; } public Object execute { return null; }} A. 所有类和接口都编译成功 B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A { public void aMethod;}interface B { public void bMethod;}interface C extends A, B { public void cMethod;}class D implements B { public void bMethod {}}class E extends D implements C { public void aMethod {} public void bMethod {} public void cMethod {}}A.编译失败B.如果定义D e = new E;, 那么 e.bMethod;调用D类的bMethod方法C.如果定义D e = Dnew E;, 那么 e.bMethod;调用D类的bMethod方法D.如果定义D e = Dnew E;, 那么 e.bMethod;调用E类的bMethod方法22.请看下列代码:处理请求";}};}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction { public void doService;}B.public final class ServletAction { public void doService;}C.public class ServletAction { public void doService;}D. public interface ServletAction { public void doService;}23.下列代码运行的结果是:A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:A.输出:testB.输出:nullC.代码行,编译出错D.代码public String toString {行,编译出错25.请看下列代码:关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D 16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D 21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

Java面向对象测试试题

Java面向对象测试试题

Java面向对象测试试题一、单选题1. 下面哪个关键字可以用来声明一个抽象类?A) abstractB) finalC) privateD) protected2. 在Java中,一个类可以同时继承多个类吗?A) 可以B) 不可以3. 在Java中,接口的成员变量默认是什么修饰符?A) privateB) protectedC) publicD) 默认不写修饰符4. 下面哪种访问权限修饰符可以让子类访问父类的成员变量?A) privateB) protectedC) publicD) 默认不写修饰符5. 下面哪个关键字可以用来声明一个常量?A) constantB) finalC) staticD) default二、填空题1. 在Java中,可以通过____关键字来引入其他包中的类。

2. 在Java中,____关键字可以用来防止重写一个方法。

3. 在Java中,____关键字表示当前对象的引用。

4. 在Java中,____关键字用于表示父类。

三、编程题请编写一个Java类,实现一个矩形的类,要求具有以下功能:1. 拥有长度和宽度两个属性。

2. 拥有计算矩形面积的方法。

3. 能够输出矩形的属性信息。

```javapublic class Rectangle {private double length;private double width;public Rectangle(double length, double width) {this.length = length;this.width = width;}public double getArea() {return length * width;}public void printInfo() {System.out.println("Length: " + length);System.out.println("Width: " + width);}}```使用上述代码,可以创建一个矩形对象并调用相应方法来获取矩形的面积和属性信息。

java面向对象试题及答案(二)

java面向对象试题及答案(二)

java面向对象试题及答案(二)1. 什么是面向对象编程?- 面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,它将现实中的事物抽象成对象,并通过对象之间的交互来完成程序的设计和实现。

2. 面向对象编程的特点有哪些?- 封装性:将数据和方法封装在一起,对外部隐藏实现细节,只提供公共接口。

- 继承性:通过继承可以实现代码复用,减少重复编写代码的工作量。

- 多态性:同一种方法可以有不同的实现方式,提高程序的灵活性和可扩展性。

3. 什么是类和对象?- 类是一种抽象的数据类型,它描述了一类事物的属性和行为。

- 对象是类的一个实例,具有该类所描述的属性和行为。

4. 什么是继承?- 继承是一种机制,它允许新的类在已有类的基础上进行扩展,从而实现代码的复用和扩展性的提高。

5. 什么是多态?- 多态是指同一个方法可以有不同的实现方式,具体的实现方式由调用该方法的对象决定。

6. 什么是重载和重写?- 重载是指在同一个类中定义多个同名方法,但参数列表不同,可以根据参数列表的不同来调用不同的方法。

- 重写是指在子类中重新定义父类中已有的方法,使得子类对象调用该方法时执行子类中的实现。

7. 什么是抽象类和接口?- 抽象类是一种不能被实例化的类,它只能被继承,用于定义一些抽象的方法和属性,子类必须实现这些抽象方法和属性才能被实例化。

- 接口是一种只包含抽象方法和常量的抽象类型,它定义了一些规范,子类必须实现这些抽象方法才能被实例化。

8. 什么是异常?- 异常是指程序在运行过程中出现的错误或意外情况,它会导致程序的中断或崩溃。

Java提供了异常处理机制,可以捕获和处理异常,保证程序的正常运行。

9. 什么是泛型?- 泛型是一种抽象的数据类型,它可以用来定义一种通用的类型,使得代码可以更加灵活和可扩展。

泛型可以在编译时检查类型安全,减少运行时错误。

10. 什么是反射?- 反射是指在程序运行时动态地获取类的信息,包括类的属性、方法和构造器等,可以在运行时动态地创建对象、调用方法和访问属性。

Java面向对象程序设计单元测试卷一

Java面向对象程序设计单元测试卷一
3.下面程序能正确的编译运行吗?若不能,错误语句是:。
public class IfTest{
public static void main(String args[]){
int x=3;
int y=1;
if(x=y)
System.out.println("Not equal");
else
System.out.println("Equal");
if (j==3) continue;
System.out.println("j="+j+" i="+i);
}
程序的运行结果是:
10.设有如下的程序代码
outer: for(int i=1; i<4; i++)
inner: for(int j=1;j<6;j++){
if (j==3) continue outer;
System.out.println("j="+j+" i="+i);
}
程序的运行结果是:
三.编程题,每题25分,共50分
1.假设星期一至星期五每工作一小时的工资是25.5元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。请编一程序从键盘输入星期序号(1,2,3,4,5,6,7分别表示星期一,星期二,…,星期六,星期天)和工作小时数,计算该日的工资及税金。
7、下列程序段执行后,t3的结果是。
int t1=3,t2=4,t3;
t3=t1<t2?t1+t2:t1-t2
8.下列语句序列执行后,k的值是。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。

(错误)2. Java中,接口可以继承接口。

(正确)3. Java中,一个类可以继承多个接口。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。

面向对象编程的三大特性是封装、继承和多态。

- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。

例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。

- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。

例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。

- 多态:多态允许同一个接口接受不同的数据类型。

在Java中,可以通过重写父类的方法来实现多态。

例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。

2. 解释Java中的接口和抽象类的区别。

接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。

Java程序设计(面向对象基础)期末单元测试与答案

Java程序设计(面向对象基础)期末单元测试与答案

一、单选题1、下面关于类的描述错误的是()。

A.类的实现包括类声明和类体两部分B.一个包可以包含多个类C.类的方法都由方法头和方法体组成D.一个Java程序可以有多个公共类正确答案:D2、关于面向对象概念的描述不正确的是()。

A.程序中的对象等同于现实生活中的对象B.对象描述的是客观世界的实体C.在Java中通过类来描述对象D.类是具有相同特征的若干对象的模板正确答案:A3、下列构造方法的调用方式中,正确的是()。

A.按照一般方法调用B.只能通过new自动调用C.被系统调用D.由用户直接调用正确答案:B4、对于下面()类定义,可以通过“new J_Class()”生成类J_Class 的实例对象。

A.public class J_Class {public J_Class(void) {}}B.public class J_Class { }C.public class J_Class {public void J_Class() {}public J_Class(String s) {}}D.public class J_Class {public J_Class(String s) {}}正确答案:B5、在Java中,下面对于构造函数的描述正确的是()。

A.构造函数和类有相同的名称,并且不能带任何参数B.构造函数的返回类型是voidC.一个类可以定义多个构造函数D.类必须显式定义构造函数正确答案:C6、下列关于包的描述中,错误的是()。

A.包是使用package语句创建的B.包是若干个类的集合C.包是一种特殊的类D.包有有名包和无名包两种正确答案:C7、下面关于包的描述中,错误的是()。

A.包分为有名包和无名包两种B.包是若干对象的集合C.使用package语句创建包D.使用import语句引入包正确答案:B二、填空题1、类是一组具有相同()和()的对象的抽象。

()是由某个特定的类所描述的一个个具体的对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java面向对象测试Java基础知识单元测试一、选择题(30分)1.下列程序段执行后的输出结果为()int x=3;int y=10;System.out.println(y%x);A.0B.1C.2D.32.下列程序的输出结果是()public class Test{void printValue(int m){do {System.out.println("The value is"+m); }while(--m > 10 );}public static void main(String arg[]){int i=10;Test t= new Test();t.printValue(i);}}A.8B.9C.10D.1133.执行完语句int []x = new int[25];后,则下列哪项说法是正确的()A.x[24]值为0B.x[24]值未定义C.x[25]值为0D.x[0]值为空4.下列哪个选项是合法的标识符()A)123B)_nameC)classD)1first5.下列的哪个赋值语句是不正确的()A)float f = 11.1;B)double d = 5.3E12;C)float d = 3.14f ;D)double f=11.1E10f;6.下列关于继承的哪项叙述是正确的?()A)在java中允许多继承B)在java中一个类只能实现一个接口C)在java中一个类不能同时继承一个类和实现一个接口D)java的单一继承使代码更可靠7.有一个类A,对于其构造函数的声明正确的是( )。

A)void A(int x){...} B)A(int x){...}C)A A(int x){...} D)int A(int x){...}8.一个可以独立运行的Java应用程序( ) **A、可以有一个或多个main方法B、最多只能有两个main方法C、可以有一个或零个main方法D、只能有一个main方法9.以下对Java中对数组的声明正确的是()**A int [] sample;B int sample[]C int () sample;D int sample();10.设int x = 3 , y = 2 , z = 5;则表达式y+=z--/++x 的值是( )。

A. 3B. 4. 5C. 3.5D. 411.类Test1定义如下:(1) public class Test1{(2) public void aMethod(float a,float b){ };(3)(4) }将以下哪种方法插入第3行是不合理的?()A. public void aMethod(int a,int b){ };B. public void aMethod(float a,float b,float c){ };C. public void aMethod(float c,float d){ };D. private void aMethod(int a,int b,int c){ };12. JDK中运行Java小程序的命令是()。

A. javadocB. appletviewerC. javacD. java13.下列叙述中,正确的是:()A声明变量时必须指定一个类型B、Java认为变量名number和Number相同C、Java中唯一的注释方式是“//”D、源文件中public类可以有0或多个14.在switch(expression)语句中,expression的数据类型不能是:A、doubleB、charC、byteD、short15.已知int[] a =new int[100];,在下列给出的数组元素中,非法的是:( )A、a[0]B、a[1]C、a[99]D、a[100]16.设x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

A、public x x1= new y( );B、x x1=x( );C、x x1=new x( );D、int x x1;17.Java语言的类间的继承关系是( )。

A、多重的B、单继承C、线程的D、不能继承18.下面关于java中类的说法哪个是不正确的()A、类体中只能有变量定义和成员方法的定义,不能有其他语句。

B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义(但只能有一个Public修饰的类)。

19.给出一段程序,选择运行结果()public class sss {public static void main(String args[]){String s1=args[1]; String s2=args[2];String s3=args[3]; String s4=args[4];System.out.println(“args[2]=”+s2);}}命令行执行:java sss 1 2 3 4 结果是下面哪一个?A、args[2]=2B、args[2]=nullC、args[2]=3D、运行出现异常20.public class T1 {public static void main (String[] args){T1 a=new T1();a.method(8);a.method(1.2f);}void method(float i) {System.out.println("float: "+i);}void method(long i) {System.out.println("long: "+i);}}以下说法错误的是:()A、程序有编译错误,因为两个method()方法必须定义为静态(static)的。

B、程序可以编译运行,输出结果为:long: 8float: 1.2C、程序可以编译运行,输出结果为:float: 1.2long: 8D、程序中定义的两个参数不同的method方法称为方法重载。

21.编译并运行下面的程序,运行结果为( ).**public class A {public static void main (String[] args) {A a=new B( );a.test();}void test() {System.out.print ("A");}}class B extends A {void test() {super.test();System.out.println("B");}}A、子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。

B、代码可以编译运行,并输出结果:ABC、代码可以编译运行,并输出结果:A。

D、子类B定义了与父类A中同名的方法test,java中称为方法的重载22.下面哪个说法正确( ) **A、如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。

*B、如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。

C、如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。

D、接口中的方法必定是抽象方法,但可以不用关键字abstract 修饰。

23.类的设计要求它的某个成员变量不能被外部类直接访问。

应该使用下面的哪些修饰符获得需要的访问控制?()A、publicB、no modifierC、protected(权限仅次于public)D、private24.类Teacher和Student都是类Person的子类Person p;Teacher t;Student s;p, t and s are all non-null.if(t instanceof Person) { s = (Student)t; }这个语句导致的结果是什么?A、将构造一个Student对象。

B、表达式合法。

C、编译时非法。

D、编译时合法而在运行时可能非法。

25.给出下面的代码:class Person {String name,department;public void printValue(){System.out.println("name is "+name);System.out.println("department is "+department);}}public class Teacher extends Person {int salary;public void printValue(){// doing the same as in the parent method printValue()// including print the value of name and department.System.out.println("salary is "+salary);}}下面的哪些表达式可以加入printValue()方法的"doing the same as..."部分?()A、printValue();B、this.printValue();C、person.printV alue();D、super.printValue().26.以下是接口的定义的是:()A,接口中定义的变量都是公共的静态变量B, 没有构造函数,而且定义的方法都是公共的抽象方法C, 接口间采用单继承机制D, 接口可以实例变量和常量,实例常量语法是;public static 标示符名称27.包含抽象方法的类:()A, 一定是抽象类B,可以是抽象类也可以不是抽象类C,肯定不是抽象类28.那些父类成员不能被继承:()A,private成员B,构造方法C,public成员D,getter和setter成员29.方法重写规则:()A,在继承关系的子类中B,重写的方法名,返回值类型,参数与父类不相同C,私有属性,成员可以被重写30.关于构造方法,下列说法错误的是()A,构造方法可以进行方法重写B,构造方法用来初始化该类的一个新对象C,构造方法具有和类名相同的名称D,构造方法不返回任何数据类型二、程序分析题(18分)1.设有数组定义:int a[]= { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行下列几个语句后的输出结果是for (int i = 0 ; i < a.length ; i ++ ){if(a[i]%3==0 )System.out.println(a[i]+" ");}2.执行下列几个语句后的输出结果是class FatherClass{public FatherClass(){System.out.println("FatherClass Create");}}public class ChildClass extends FatherClass { public ChildClass() {System.out.println("ChildClass Create");}public static void main(String[] args) {FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();}}3.应用程序由以下语句组成,写出执行该程序后输出的结果public class x{public static void main(String args[ ]){int i , sum = 0 ;int a[ ] = { 1 , 2 , 3 , 4 , 5 , 6 };for ( i = 0 ; i < a.length ; i ++ ){if ( a[i]%2 = = 0 )sum += a[i] ;}System.out.println("sum="+sum);}}4. 应用程序由以下语句组成,写出执行该程序后输出的结果import java.io.* ;public class A{public static void main(String args[]){ int i ;int a []= { 10,20,30,40,50,60,70,80,90 };for (i = 0 ; i <= a.length / 2 ; i ++ )System.out.print(a[i]+a[a.length-i-1]+" " );}}5.应用程序由以下语句组成,写出执行该程序后输出的结果public class x{public static void main(String args[]){int num=0;for(int i=10;i<=50;i++)if(i%10==5 && i%3 ==0)num++;System.out.println("共有"+num+"个");}}6.应用程序由以下语句组成,写出执行该程序后输出的结果** public class Jtest{int m=1;int i=3;void Jtest() //方法名可以与类名相同{m=2;i=4;}public static void main(String[] args){Jtest app=new Jtest();System.out.println(app.m+","+app.i);}}7.应用程序由以下语句组成,写出执行该程序后输出的结果public class Jtest{int m=1;int i=3;Jtest(){m=2;i=4;}public static void main(String[] args) {Jtest app=new Jtest();System.out.println(app.m+","+app.i); }}8.请写出程序的运行结果**class Tester {int var;Tester(double var) {this.var = (int)var;}Tester(int var) {this("hello");}Tester(String s) {this();System.out.print (s);}Tester() {System.out.print("goodbye");}public static void main(String[] args) { Tester t = new Tester(5);}}三、填空题(4分)1.在Java程序中,通过类的定义只能实现单继承,但通过的定义可以实现多继承关系。

相关文档
最新文档