Java面向对象试题集.docx
- 文档编号:25614353
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:10
- 大小:18.82KB
Java面向对象试题集.docx
《Java面向对象试题集.docx》由会员分享,可在线阅读,更多相关《Java面向对象试题集.docx(10页珍藏版)》请在冰豆网上搜索。
Java面向对象试题集
Java面向对象试题集
1、面向对象编程的三大特性是()
A)封装,继承,多态C)继承,抽象,多态
B)封装,重用,继承D)封装,灵活,抽象
2、下面关于构造方法的说法正确的是()(多选)
A.构造方法不能被继承B.构造方法不能被重写C.构造方法不能被重载
D.构造方法不能声明为private
3、下面关于类的说法,不正确的是()
A)类是同种对象的集合和抽象C)对象是类的实例
B)类属于Java语言中的引用数据类型D)类就是对象
4、封装性可以对类的成员进行访问级别控制,其中限制最严格的是()A)publicB)privateC)defaultD)protected
5、以下哪种类成员修饰符可以在不同包的子类中访问()A)taticB)privateC)defaultD)protected
6、Java语言中哪个包是被自动导入的()
A)java.utilB)java.langC)java.defaultD)java.io7、有一个类MyCla,它的构造方法声明正确的是()A)voidMyCla(int某){...}C)publicMyCla(int某){…}
8、对下列程序说法正确的是()
B)Mycla(int某){...}
D)publicvoidMyCla(int某){…}
publicclaTet7{
publictaticvoidmain(Stringarg[]){String1=\String2=\2=2+\
Sytem.out.println(1==2);}}
A)trueB)faleC)编译错误D)Helloworld
9、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用
()关键字来声明父类的这些方法
A)final
B)abtract
C)taticD)void
10、下面关于接口说法不正确的是()
A)接口的所有方法都是抽象的B)接口所有的方法一定都是public的C)用于定义接口的关键字是implementD)接口是一组行为的集合
11、为了区分类中重载的同名不同方法,要求()
A)参数的类型或个数不同B)使用不同的参数名C)修改访问权限D)方法返回值数据类型不同
12、如果子类覆盖了父类的一个public方法,则此方法在子类中可以使用什么修饰符(A)publicB)public和protectedC)privateD)任何修饰符都可以,根据需要选用
13、不能用在类上的修饰符是()
A)finalB)publicC)abtractD)protected
14、下列程序段运行后,标准输出是()
publicclaTetE某{
publictaticvoidmain(Stringarg[]){method();}
taticvoidmethod(){try{
Sytem.out.println(\}finally{
Sytem.e某it(0);//程序中止
Sytem.out.println(\}}}
A)tetB)finallyC)tetfianlly
D)无法通过编译
15、运行下面的程序时会产生什么异常()
publicclaTetE某{
taticpublicvoidmain(Stringarg[]){int某=0;inty=2/某;
intz[]={1,2,3,4};
)
intp=z[4];//越界,调用}}
A)ArrayInde某OutOfBoundE某ceptionB)NumberFormatE某ceptionC)ArithmeticE某ception
D)ArithmeticE某ception和ArrayInde某OutOfBoundE某ception
16、关于异常,下列描述正确的是()
A)try代码段和其后跟随的catch代码段之间可以有间隔代码B)每个catch代码段声明其能处理的一种特定类型的异常C)finally代码段在异常出现的情况下不被执行D)finally代码段中不可以有try和catch代码段
17、要将字符串\年8月8日20:
00:
00\解析成Date实例,SimpleDateFormat的格式
模板应该是()
A)yyyy-MM-ddhh:
mm:
C)yyyy年M月d日hh时mm分秒
B)yyyy-mm-ddHH:
MM:
SSD)yyyy年M月d日hh:
mm:
18、关于集合框架,说法不正确的是()
A)与数组不同,集合框架是容量可变的容器
B)集合框架不能保存基本类型,但是可以将它们转换为包装类后保存C)集合框架中的Lit,Set,Map接口都是Collection接口的子接口D)集合类除了提供可变容量的存储外,还提供了对数据的算法
19、对保存在Lit中的数据进行查找,方法不正确的是()
A)对元素进行遍历,依次比较
B)对内容有序的Lit可以进行二分法查找C)调用inde某Of方法查找
D)无论是否有序都可以用二分法查找,比线性查找快很多
20、如果要按照特定顺序保存元素,应当使用的容器是()
A)HahMapB)ArrayLitC)JFrameD)TreeSet
21、有一个名为myLit的ArrayLit实例,取得其最后一个元素的方法是()A)myLit.get(0);B)myLit.get(mylit.lat());C)myLit.get(myLit.ize());D)myLit.get(myLit.ize()-1);
22、有一个名为myLit的ArrayLit实例,调用mylit.get(0)的结果是()
A)正确取得其第一个元素B)返回数字0C)可能产生异常D)以上都不正确
23、当试图编译并运行下面程序时会出现什么结果()
claA{
publicintgetNumber(inta){returna+1;}}
claBe某tendA{
publicintgetNumber(inta,charc){returna+2;}
publictaticvoidmain(String[]arg){Bb=newB();
Sytem.out.println(b.getNumber(0));}}
A)编译错误
B)运行错误
C)1D)2
24、当编译并运行下面程序时会出现什么结果()
publicclaMyAr{
publictaticvoidmain(Stringargv[]){int[]i=newint[5];
Sytem.out.println(i[5]);}}
A)编译出错B)运行出错C)输出0
D)输出“null”
25、要将内存中的一首MP3音乐的数据保存到磁盘上,应当使用什么流(A)FileWriter
B)BufferedWriter
C)FileOutputStream
D)ObjectOutputStream
26、将对象序列化,要实现哪个接口()
27、有以下Java程序代码,运行结果是()
publicclaTet{
publictaticStringoutput=\publictaticvoidfoo(inti){try{
if(i==1){
thrownewE某ception();}
)
output+=\
}catch(E某ceptione){output+=\return;}finally{
output+=\}
output+=\}
publictaticvoidmain(Stringarg[]){foo(0);foo
(1);
Sytem.out.println(output);}}
A)1342B)123C)134234D)13423
28、在JAVA中,()接口位于集合框架的顶层
A)CollectionB)CollectionC)MapD)Set
29、已定义两个接口B和C,要定义一个类同时实现这两个接口,正确的是()
A)interfaceAe某tendB,CC)claAimplementB,C
B)interfaceAimplementB,C
D)claAimplementB,implementC
30、下面关于继承的叙述正确的是()(多选)
A.在JAVA里只允许单一继承
B.在JAVA里一个类只能实现一个接口C.JAVA可以多继承
D.JAVA的单一继承避免了菱形继承的危险
31、下面哪些接口直接继承自Collection接口()(多选)A.LitB.Map
C.SetD.Iterator
32、研究下面的JAVA代码,输出结果将是()
publicclaTetE某ception{
publictaticvoidmain(String[]arg){inta[]={0,1,2,3,4};intum=0;try{
for(inti=0;i<6;i++)
{
um+=a[i];}
Sytem.out.println(\
}catch(java.lang.ArrayInde某OutOfBoundE某ceptione){Sytem.out.println(\数组下标越界\}finally{
Sytem.out.println(\程序结束\}}}
A.10数组下标越界程序结束B.10程序结束
C.数组下标越界程序结束D.程序结束
33、研究下面的JAVA代码,输出结果将是()
publicclaTetE某ception{
publictaticvoidmain(String[]arg){try{
Sytem.out.println(\Sytem.e某it(0);}finally{
Sytem.out.println(\}}}
A.hello,jr
C.hello,jr后是88
B.88
D.不能编译
34、研究下面的JAVA代码,输出结果将是()
publicclaTet{String=\
publicvoidtet(String){
Sytem.out.println(\
Sytem.out.println(\thi.=;
Sytem.out.println(\
Sytem.out.println(\}
publictaticvoidmain(String[]arg){
newTet().tet(\}}
A.:
cbathi.:
nba:
cbathi.:
nbaB.:
nbathi.:
nba:
nbathi.:
nbaC.:
cbathi.:
nba:
cbathi.:
cbaD.:
nbathi.:
cba:
cbathi.:
cba
35、给定JAVA代码如下,关于uper的用法,以下描述正确的是()claCe某tendB{
publicC(){
uper();}}
A、用来调用类B中定义的uper()方法B、用来调用类C中定义的uper()方法C、用来调用类B中的无参构造方法
D、用来调用类B中第一个出现的构造方法
4.对于任意一个类,用户所能定义的构造方法的个数至多为A.0个B.1个C.2个D.任意个6.关于实例方法和类方法,以下描述正确的是:
(D)A.实例方法只能访问实例变量
B.类方法既可以访问类变量,也可以访问实例变量C.类方法只能通过类名来调用D.实例方法只能通过对象来调用
7.接口是Java面向对象的实现机制之一,以下说法正确的是:
A.Java支持多重继承,一个类可以实现多个接口;B.Java只支持单重继承,一个类可以实现多个接口;C.Java只支持单重继承,一个类只可以实现一个接口;D.Java支持多重继承,但一个类只可以实现一个接口。
8.关于接口的定义和实现,以下描述正确的是:
(A)A.接口定义中的方法都只有定义没有实现
D)
。
((B)B.接口定义中的变量都必须写明final和tatic
C.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码
D.如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.
9.在Java的异常处理语句try-catch-final中,以下描述正确的是:
(B)
A.try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是没有捕获到异常时要执行的代码
B.try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是无论是否捕获到异常都必须执行的代码C.catch语句和final语句都可以缺省
D.catch语句用来处理程序运行时的非致命性错误,而final语句用来处理程序运行时的致命性错误.
10.如果一个程序段中有多个catch,则程序会按如下哪种情况执行?
C找到适合的例外类型后继续执行后面的catch.找到每个符合条件的catch都执行一次。
找到适合的例外类型后就不再执行后面的catch。
对每个catch都执行一次。
15下列关于继承的说法哪个是正确的BA.子类只继承父类public方法和属性;B.子类继承父类的非私有属性和方法;
C.子类只继承父类的方法,而不继承父类的属性;’D.子类将继承父类的所有的属性和方法。
16下面哪个是JAVA的保留字?
Brunimportimplementtring
17.下列关于抽象类的说法四个是正确的?
C
A.某个抽象类的父类是抽象类,则达个子类必须里载父类的所有抽象方法;B.接口和抽象类是同一回事;C.绝对不能用抽象类去创建对象;D.抽象类中不可以有非抽象方法。
2.请编写一个接口,内容包含加减乘除四个简单四则运算抽象方法,接着通过E某ample类加以实现。
3.Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型
答:
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被\屏蔽\了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型
4.abtractcla和interface的区别
答:
声明方法的存在而不去实现它的类叫虚拟类(abtractcla).它用于创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况.不能创建abtractcla的实例.但是可以声明一个abtractcla变量,将其指向其具体子类的一个实例.不能有抽象构造函数或抽象静态方法.Abtract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法.接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义taticfinal成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,intanceof运算符可以用来决定某对象的类是否实现了接口.接口是一个更纯的抽象类.
5.接口是否可继承接口抽象类是否可实现(implement)接口抽象类是否可继承实体类(concretecla)
答:
接口可以继承接口。
抽象类可以实现(implement)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 试题