《使用Java实现面向对象编程》阶段测试-笔试试卷
JAVA面向对象编程测试题
JAVA面向对象编程测试题Java 面向对象、单选:1)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序是Java 执行器(B) A ) Javac.exeB ) java.exeC) jdb.exe D ) javah.exeE) javadoc.exe (E)2)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序能生成Java 参考文档A ) Java.exe B ) javac.exeC) appletviewer.exe D) javah.exeE) javadoc.exe3)下列数据类型不属于整型的是(E)A )byte 类型B ) short 类型C) int 类型 D )long 类型E) float 类型4 )精确保存一个值为“53.21458961 ”需要用什么数据类型( D)A )int 类型B )long 类型C) String 类型D ) double 类型E )以上都可以(5)循环语句for(int i=0。
i<4。
i++){}循环的次数为(D)A )无限次B )不确定C) 1 次D ) 3 次E ) 4 次6)若i、j 为已定义的整型,下面程序段中循环体执行的次数为(B)for(i=0 。
i<5 。
i++){for(j=0 。
j<=i 。
j++){}}A )不确定B ) 5 次C ) 15 次D ) 25 次E )无限次7)执行下列程序段后,j 的值变为(E) int i=1 。
int j=10 。
do{j-=i 。
i++ 。
}while(j--<0) 。
A ) 9 B) 10C) -1 D) -2E ) 88)执行下列程序段后,y 的值变为(E) int x,y 。
for(y=1,x=1 。
y<=50。
y++){if(x>=10){break。
} if(x%2==1){ x+=5 。
continue 。
}x-=3 。
《Java面向对象》笔试3套
《Java面向对象编程》—选择题(单选50题)1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?A、 ArrayList myList=new Object();B、 List myList=new ArrayList();C、 ArrayList myList=new List();D、 List myList=new List();2.paint()方法使用哪种类型的参数?A、 GraphicsB、 Graphics2DC、 StringD、 Color3.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;4.指出下列程序运行的结果public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");Sytem.out.print(ex.ch);}public void change(String str,char ch[]){str="test ok";ch[0]='g';}}A、 good and abcB、 good and gbcC、test ok and abcD、 test ok and gbc5.运行下列程序, 会产生什么结果public class X extends Thread implements Runnable{public void run(){System.out.println("this is run()");}public static void main(String args[]){Thread t=new Thread(new X());t.start();}}A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行和启动6.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?A、 FileInputStream in=new FileInputStream("file.dat"); in.skip(9); intc=in.read();B、 FileInputStream in=new FileInputStream("file.dat"); in.skip(10); intc=in.read();C、 FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D、 RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); intc=in.readByte();7.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?A、 CardLayoutB、 FlowLayoutC、 BorderLayoutD、 GridLayout8.给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?A、编译时将产生错误;B、编译时正确,运行时将产生错误;C 、输出零;D、输出空。
使用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 )。
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:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。
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面向对象编程练习试题包括答案.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 高级编程笔试题-推荐下载
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
《Java面向对象编程》期终考试试卷(A卷)及答案
适用专业:一、选择题(本大题共20小题,每小题2分,共40分。
请将选择题答案填入下方的表格内)1、Java源文件和编译后的文件扩展名分别为()。
A、.class和 .javaB、.java和 .classC、.class和 .classD、.java和 .java2、一个可以独立运行的Java应用程序( )。
A、可以有一个或多个main方法B、最多只能有两个main方法C、可以有一个或零个main方法D、只能有一个main方法3、以下代码中,this是指( )。
class bird{int x,y;void fly(int x,int y){this.x=x;this.y=y;}}A、 birdB、 flyC、bird或flyD、不一定4、以public修饰的类如:public class Car{…}则Car( )A、可被其它程序包中的类使用B、仅能被本程序包中的类使用C、不能被任意其它类使用D、不能被其它类继承5、下面关于构造函数的说法不正确的是()。
A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
B、构造函数不可以重载。
C、构造函数没有返回值。
D、构造函数一定要和类名相同。
6、要设置一个类的属性为私有的,应使用关键字()。
A、publicB、privateC、pretectedD、 static7、选出在Java中有效的注释声明()。
(选择二项)A、//This is a commentB、*/This is a commentC、/This is a commentD、/*This is a comment*/8、( )是拥有属性和行为或方法的实体。
A. 对象B. 类C. 方法D. 构造方法9、在Java中,当在类中定义两个或更多方法,它们有相同的名称而参数项不同时,这称为()。
A、继承B、多态性C、构造方法D、方法重载10、下面哪项是错误的?( )A. 使用(==)比较String对象时,如果String对象包含相同的值,则比较结果为真。
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面向对象程序设计》考试卷及答案带注释
一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
java面向对象考题和答案
1.下面代码的输出结果是:2.public class Main {3. public static void main(String[] args) {4. int n = 100;5. int m = 200;6. System.out.println(f(n,m));7. System.out.println(n);8. }9. public static int f(int m, int n) {10. n = m+n;11. return n;12. }13.}A.300300B.100100C.300100D.1003002.程序执行的结果是:3.public class Test {4. public static void main(String[] args) {5. int x = 6;6. Test p = new Test();7. p.doStuff(x);8. System.out.println(" main: x = " + x);9. }10. void doStuff(int x) {11. System.out.println(" doStuff:x =" + x++);12. }13.}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.下列代码的输出结果是:5.public class Test {6. public void print(char c) {7. System.out.println("c");8. }9.10. public void print(int i) {11. System.out.println("i");12. }13.14. public void print(double d) {15. System.out.println("d");16. }17. public void print(String s) {18. System.out.println("s");19. }20. public static void main(String[] args) {21. Test test=new Test();22. test.print('5');23. }24.}A.cB.iC.dD.s5.程序执行的结果是:6.public class Test {7. String name="Tom";8. public Test(String name){9. name=name;10. }11. public static void main(String [] args){12. Test t = new Test("Jack");13. System.out.println();14. }15.}A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:class Foo {public int a;public Foo() {a = 3;}public void addFive() {a += 5;}}class Bar extends Foo {public int a;public Bar() {a = 8;}public void addFive() {this.a += 5;}}public class TestFoo {public static void main(String[] args) {Foo foo = new Bar();foo.addFive();System.out.println("Value: " + foo.a);}}A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:10.class Person {11. String name = "No name";12.13. public Person(String nm) {14. name = nm;15. }16.}17.class Employee extends Person {18. String empID = "0000";19.20. public Employee(String id) {21. empID = id;22. }23.}24.public class EmployeeTest {25. public static void main(String[] args) {26. Employee e = new Employee("4321");27. System.out.println(e.empID);28. }29.}A.输出:0000B.输出:4321C.代码public Employee(String id) {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:11.public class Animal {12. public String noise() {13. return "peep";14. }15. public static void main(String[] args) {16. Animal animal = new Dog();17. Cat cat = (Cat)animal;18. System.out.println(cat.noise());19. }20.}21.class Dog extends Animal {22. public String noise() {23. return "bark";24. }25.}26.class Cat extends Animal {27. public String noise() {28. return "meow";29. }30.}A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:public class A {public void start() {System.out.println("TestA");}}public class B extends A {public void start() {System.out.println("TestB");}public static void main(String[] args) {( (A) new B( ) ).start();}}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.下列代码的输出结果是:15.class Foo {16. private int x;17. public Foo(int x) {18. this.x = x;19. }20. public void setX(int x) {21. this.x = x;22. }23. public int getX() {24. return x;25. }26.}27.public class Gamma {28. static Foo fooBar(Foo foo) {29. foo = new Foo(100);30. return foo;31. }32. public static void main(String[] args) {33. Foo foo = new Foo(300);34. System.out.print(foo.getX() + "-");35. Foo fooFoo = fooBar(foo);36. System.out.print(foo.getX() + "-");37. System.out.print(fooFoo.getX() + "-");38. foo = fooBar(fooFoo);39. System.out.print(foo.getX() + "-");40. System.out.print(fooFoo.getX());41. }42.}A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:16.public class Base {17. public static final String FOO = "foo";18.class Sub extends Base {19. public static final String FOO = "bar";20.}21. public static void main(String[] args) {22. Base b = new Base();23. Sub s = new Sub();24. System.out.print(Base.FOO);25. System.out.print(Sub.FOO);26. System.out.print(b.FOO);27. System.out.print(s.FOO);28. System.out.print(((Base) s).FOO);29. }30.}31.A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:17.public class ItemTest {18. private final int id;19. public ItemTest(int id) {20. this.id = id;21. }22. public void updateId(int newId) {23. id = newId;24. }25. public static void main(String[] args) {26. ItemTest fa = new ItemTest(42);27. fa.updateId(69);28. System.out.println(fa.id);29. }30.}A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:18.public class Student {19. private String name="sun";20. public static void main(String[] args) {21. Student[] students=new Student[2];22. System.out.println(students[0].name);23. System.out.println(students.length);24. }25.}A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:19.abstract class Vehicle {20. public int speed() {21. return 0;22. }23.}24.class Car extends Vehicle {25. public int speed() {26. return 60;27. }28.}29.class RaceCar extends Car {30. public int speed() {31. return 150;32. }33.}34.public class TestCar {35. public static void main(String[] args) {36. RaceCar racer = new RaceCar();37. Car car = new RaceCar();38. Vehicle vehicle = new RaceCar();39. System.out.println(racer.speed() + ", " + car.speed() + ", "40. + vehicle.speed());41. }42.}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 doSomething(String thing);}public class AImpl implements A {public void doSomething(String 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 = (D)(new E());, 那么 e.bMethod();调用D类的bMethod()方法D.如果定义D e = (D)(new E());, 那么 e.bMethod();调用E类的bMethod()方法22.请看下列代码:public class UserRequest {public void request(ServletAction action) {action.doService();}public static void main(String[] args) {UserRequest user = new UserRequest();user.request(new ServletAction() {public void doService() {System.out.println("处理请求");}});}}如果上述代码采用回调模式编写,下列关于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.下列代码运行的结果是:24.public class Hello {25. String title;26. int value;27. public Hello() {28. title += "World";29. }30. public Hello(int value) {31. this.value = value;32. title = "Hello";33. }34. public static void main(String[] args) {35. Hello c = new Hello(5);36. System.out.println(c.title);37. }38.}A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:25.interface TestA {26. String toString();27.}28.public class Test {29. public static void main(String[] args) {30. System.out.println(new TestA() {31. public String toString() {32. return "test";33. }34. });35. }36.}A.输出:testB.输出:nullC.代码System.out.println(new TestA() {行,编译出错D.代码public String toString() {行,编译出错25.请看下列代码:1)public class Outer {2) void fn(int i) {3) class Inner {4) void print() {5) System.out.println(i);6) }7) }8) Inner in = new Inner();9) in.print();10) }11)}12)class Test {13) public static void main(String args[]){14) Outer out=new Outer();15) out.fn(100);16) }17)}关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B12,正确答案:BC13,正确答案:C14,正确答案:B15,正确答案:D16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。
Java面向对象笔试题
《Java面向对象》内部测试-笔试试卷1、下列对Java中的继承描述错误的说法是()。
A.子类至少有一个基类B.子类可作为另一个子类的基类C.子类可以通过this关键字来访问父类的私有属性D.子类继承父类的方法访问权限保持不变2、构造方法是否可被重写和重载()。
A.不能重写,可以重载B.可以重写,不能重载C.不能重写,不能重载D.可以重写,可以重载3、下列属于方法重载好处的是()。
A.实现多态B.方法名的复用C.提高程序运行速度D.使用方便,提高可读性4、面向对象方法的多态性是指()。
A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事D.一个对象可以是由多个其他对象组合而成的5、Dog是Animal的子类,下面代码错误的是()。
A.Animal a = new Dog();B.Animal a = (Animal )new Dog();C.Dog d = (Dog)new Animal();D.Object o = new Dog() ;6、下面定义Java的常量,正确的是()。
A.public static final double PI = 3.14;B.public final static double PI = 3.14;C.final public static double PI = 3.14;D.static public final double PI = 3.14;7、这个方法的返回值是()。
public int count() {try{return 5/0;} catch(Exception e){return 2*3;} finally {return 3;}}A.0B. 6C. 3D.程序错误8、下面代码的运行结果是()。
public class Car {public void run(){System.out.println("汽车在跑");}}public class Benz extends Car {public void run(){System.out.println("奔驰在跑");}}public static void main(String[] args) {Car car = (Car)( new Benz() );car. run();}A.汽车在跑B.奔驰在跑C.无法编译D.运行时将抛出异常9、关于Java的接口,下面说法错误的是()。
JAVA 高级编程笔试题
B. 与 Statement 相比,使用 PreparedStatement 提高了 SQL 语句执行的性能,降低了安 全性
C. Statement 实例和 PreparedStatement 实例,均能对数据库进行增删改查操作 D. Statement 实例和 PreparedStatement 实例,均能够通过“?”作为占位符,用于后面
进行参数的设定
15) 假设 SQL Server 数据库中有表 book,包含两个字段:id 整型,title 字符型。向此表插 入数据的 Java 代码片段如下所示,其中 con 为已正确获得的连接数据库的 Connection 对象, 则以下描述正确的是( C )。
PreparedStatement pstmt=con.prepareStatement("insert into book(id, title) values(?,?)"); pstmt.setInt(0,10); pstmt.setString(1,"java"); pstmt.executeUpdate();
《使用 Java 实现面向对象编程》阶段测试-笔试试卷
一、选择题(共 25 题,每题 4 分,满分 100 分) 1) 下列选项中关于 Java 中 ArrayList、LinkedList、HashMap 三个类的描述错误的是( C )。
A. ArrayList 和 LinkedLi 的访问速度比 LinkedList 快 C. 添加和删除元素时,ArrayList 的表现更佳 D. HashMap 实现 Map 接口,它允许任何类型的键和值对象,允许将 null 用作键或值
Java面向对象测试试题范本
Java面向对象测试试题范本一、选择题(每题5分,共20分)1.下列关于面向对象编程的说法,错误的是:A. 面向对象编程将程序组织成若干个对象,并通过对象之间的交互来实现功能B. 面向对象编程提供了封装、继承和多态等特性C. 面向对象编程只能使用Java语言实现D. 面向对象编程使代码更易于理解、维护和复用2.下列选项中,可以用于实现继承关系的关键字是:A. implementB. extendC. abstractD. final3.在Java中,哪个访问修饰符表示的成员变量或方法可以被任意类访问?A. publicB. privateC. protected4.下列选项中,正确描述Java的多态性的是:A. 同一个方法可以有不同的参数个数和类型但不能同名B. 子类可以重写父类的方法C. 子类可以调用父类的方法D. 子类可以拥有父类的属性和方法二、编程题(60分)题目一:请设计一个名为Person的Java类,该类具有以下属性和方法:属性:姓名(name)、年龄(age)、性别(gender)方法:构造方法,用于初始化name、age和gender;getName(),返回姓名;getAge(),返回年龄;getGender(),返回性别。
请根据上述要求,在下面的代码框中完成Person类的编写:```javaclass Person {// 在这里添加属性和方法}```请编写一个名为Circle的Java类,该类具有以下属性和方法:属性:半径(radius)方法:构造方法,用于初始化radius;getArea(),返回圆的面积(公式:面积= π * 半径的平方);getPerimeter(),返回圆的周长(公式:周长= 2 * π * 半径)。
请根据上述要求,在下面的代码框中完成Circle类的编写:```javaclass Circle {// 在这里添加属性和方法}```题目三:请编写一个名为Rectangle的Java类,该类具有以下属性和方法:属性:宽度(width)、高度(height)方法:构造方法,用于初始化width和height;getArea(),返回矩形的面积(公式:面积 = 宽度 * 高度);getPerimeter(),返回矩形的周长(公式:周长 = 2 * (宽度 + 高度))。
《JAVA面向对象程序设计》考试卷及答案带注释
D) int score[] = new int[]{90,12,34,77,56};
11.若有定义:byte[] x={11,22,33,-66};
其中 0≤k≤3,则对 x 数组元素错误的引用是( )
A) x[5-3]
B) x[k]
C) x[k+5]
D) x[0]
12.以下代码的输出结果是()。
public static void main(String[] args){
第 4页 共 3 页
_________________ } }
A) Constants con = new Constants();
B) Constants.MAX = 100;
C) int i = Constants.MAX-Constants.MIN ; D) Constants.MIN>0;
D) 1 3 7 9
13.下列( )选项的 java 源文件代码片段是不正确的。
A) package testpackage;
B) import java.io.* ;
public class Test{}
package testpackage;
public class Test{}
C) import java.io.* ;
A) true、false、true、false
B) false、true、false、true
C) true、true、true、编译错误
D) true、true、false、编译错误
27.以下关于接口的说法中,正确的是()。
A) 接口中全部方法都是抽象方法,方法可以是任意访问权限
B) 接口中属性都是使用 public static final 修饰,没有显式赋值将使用默认值
Java面向对象笔试题
《Java面向对象程序设计》模拟试题(A卷)一、判断题(10’)1.Java程序里,创建新的类对象用关键字new。
2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。
5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
6.Final类中的属性和方法都必须被final修饰符修饰。
7.最终类不能派生子类,最终方法不能被覆盖。
8.子类要调用父类的方法,必须使用super关键字。
9.一个Java类可以有多个父类。
10.方法覆盖必须要方法原型相同,可以不需要继承。
二、选择题(20’)1、每个类都定义有(),以便初始化其成员变量。
A.方法B.main()方法C.构造方法D.对象2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问4、下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.abstract方法必须在abstract类中D.static方法中能处理非static的属性5、()修饰符允许对类成员的访问不依赖于该类的任何对象A、abstractB、staticC、returnD、public6、以下标识符中哪项是不合法的( )A、BigMeaninglessNameB、$intC、1 sD、$17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] arg)D、public void main(String arg[ ])8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空9、以下代码段执行后的输出结果为(B )int x=3;int y=10;System.out.println(y%x);A、0B、1C、2D、310、以下哪个表达式是不合法的()A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) { }C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0三、改错题(20’) 判断下面的程序片断是否正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B.C只继承了B中的成员
C.C只继承了A中的成员
D.C不能继承A或B中的成员
12)给定一个Java程序Test.java的代码如下所示,编译时,会出现以下(A)情况。
class Parent {
public int count() { //第1行
Base base= new Child();
base.methodB();
}
}
A.Base method
B.Child methodB
C.Base method Child MethodB
D.编译错误
22)下面关于Java接口的说法错误的是()。
A.一个Java接口是一些方法特征的集合,但没有方法的实现
D.public void cal(int z, int y, int x){ }
4)在Java中,下面对于构造函数的描述正确的是(D)。
A.类必须显式定义构造函数
B.构造函数的返回类型是void
C.构造函数和类有相同的名称,并且不能带任何参数
D.一个类可以定义多个构造函数
5)下面Java代码的运行结果是(D)。
class Parent {
Parent() {
System.out.println("parent");
}
}
public class Child extends Parent {
Child(String s) {
System.out.println(s);
}
public static void main(String[] args) {
}
public static void main(String args[]) {
Parent p = new Child();
p.count();
}
}
A.1
B.1.0
C.3
D.3.3333333333333335
20)分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在横线处应填入()。
}
public void print() {
System.out.println("企鹅的名字是" + name +
",健康值是" + health + ",性别是" + sex+ "。");
}
public static void main(String[] args) {
Penguin pgn = new Penguin();
return 0;
}
}
public class Test extends Parent {
private int i;
public int count() { //第2行
return i % 9; //第3行
}
}
A.编译通过
B.在第1行引发编译错误
C.在第2行引发编译错误
D.在第3行引发编译错误
13)给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是()。
System.out.print(pt1.x + pt2.x);
}
}
A.6
B.3 4
C.8
D.7
10)在Java语言中,下列关于类的继承的描述,正确的是(B)。
A.一个类可以继承多个父类
B.一个类可以具有多个子类
C.子类可以使用父类的所有方法
D.子类一定比父类有更多的成员方法
11)Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(B)。
C.子类可以通过super关键字调用父类的方法
D.子类可以通过super关键字调用父类的属性
16)分析如下所示的Java代码,则选项中的说法正确的是()。
class Parent{
public String name;
public Parent(String pName){
= pName;
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){ }
2)在Java中,下列关于方法重载的说法中错误的是(D)。
A.方法重载要求方法名称必须相同
B.重载方法的参数列表必须不一致
C.重载方法的返回类型必须一致
D.一个方法在所属的类中只能被重载一次
3)给定Java代码如下所示,在横线处新增下列(C)方法,是对cal方法的重载。
public class Test{
}
}
public class Test extends Parent { //1
public Test(String Name){ //2
name="hello"; //3
super("kitty"); //4
}
}
A.第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同
B.第3行错误,应使用super关键字调用父类的name属性,改为="hello";
B.Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为
C.Java接口中可以声明私有成员
D.Java接口不能被实例化
23)在Java接口中定义常量,下面语法错误的是()。
A.static int MALE = 1;
B.final int MALE = 1;
C.int MALE = 1;
public static void main(String[] args) {
Child child = new Child();
}
}
A.编译错误:没有找到构造器Child()
B.编译错误:没有找到构造器Parent1()
C.正确运行,没有输出值
D.正确运行,输出结果为:parent2
14)给定Java程序Child.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实现面向对象编程》阶段测试-笔试试卷
一、选择题
1)在Java类中,使用以下(B)声明语句来定义公有的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;
D.private int MALE = 1;
24)在Java接口中,下列选项中属于有效的方法声明是()。
A.public void aMethod();
B.void aMethod();
C.void aMethod(){}
D.private void aMethod();
A.封装就是将属性私有化,提供公有的方法访问私有属性
B.属性的访问方法包括setter方法和getter方法
C.setter方法用于赋值、getter方法用于取值
D.类的属性必须进行封装,否则无法通过编译
7)使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是(B)。
class Parent1 {
Parent1(String s){
System.out.println(s);
}
}
class Parent2 extends Parent1{
Parent2(){
System.out.println("parent2");
}
}
public class Child extends Parent2 {
19)给定Java代码如下所示,则编译运行后,输出结果是()。
class Parent {
public void count() {
System.out.println(10%3);
}
}
public class Child extends Parent{
public void count() {
System.out.println(10/3);
public class Test {
int x, y;
Test(int x, int y) {
this.x = x;
this.y = y;
}
public static void main(String[] args) {
Test pt1, pt2;
pt1 = new Test(3, 3);
pt2 = new Test(4, 4);
return name;
}
public void setName(String name) {