计算机等级考试二级java模拟题4套期末考试题AB卷带答案 模拟测试题Word格式.docx
《计算机等级考试二级java模拟题4套期末考试题AB卷带答案 模拟测试题Word格式.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级java模拟题4套期末考试题AB卷带答案 模拟测试题Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
被声明为final的方法也同样只能使用,不能重载。
Finally是在异常处理时提供finally块来执行任何清除操作。
如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话),只要有finally语句块,无论程序如何运行,它都必然被执行到。
6.Strings=newString("
xyz"
);
创建了几个StringObject?
创建了两个,一个字符对象,一个引用对象
7.shorts1=1;
s1=s1+1;
有什么错?
shorts1=1;
s1+=1;
两个错误都是一样的,后者只是加法的写法不一样,两个错误都是因为s1是short型而1是整型相加后数据类型就变为整型了,与s1定义为short型有矛盾,必须进行强制类型转换才正确。
8.数组有没有length()这个方法?
String有没有length()这个方法?
数组没有,String有。
9.Overload和Override的区别
方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。
覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法可以改变返回值的类型。
10.abstractclass和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法
接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义staticfinal成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口
11.构造器Constructor是否可被override?
可以。
12.是否可以继承String类?
String类是final类所以不可以继承。
13.题目如下:
父类:
publicclassFatherClass
{
publicFatherClass()
System.out.println("
FatherClassCreate"
}
子类:
publicclassChildClassextendsFatherClass
publicChildClass()
ChildClassCreate"
publicstaticvoidmain(String[]args)
FatherClassfc=newFatherClass();
ChildClasscc=newChildClass();
请问输出结果为:
FatherClassCreate+
FatherClassCreate
ChildClassCreate
14.publicclassOuterClass{
privatedoubled1=1.0;
//insertcodehere~~line3
从下列选项中选择两个正确的答案放在line3中(CE)
A.classInnerOne{
publicstaticdoublemethoda(){returnd1;
}
B.publicclassInnerOne{
staticdoublemethoda(){returnd1;
C.privateclassInnerOne{
doublemethoda(){returnd1;
D.staticclassInnerOne{
protecteddoublemethoda(){returnd1;
E.abstractclassInnerOne{
publicabstractdoublemethoda();
}
15.STRING与STRINGBUFFER的区别
STRING的长度是不可变的,一旦一个String对象被创建,包含在这个实例中的内容(“字符串”)不可以被更改,直至这个对象被销毁,因此,指向一个String对象的变量实质上是一个常量,String对象也被称为常量对象;
STRINGBUFFER的长度是可变的,可以通过StringBuffer的append()、insert()、reverse()、setCharAt()、setLength()等方法,可以对这个字符串中的内容修改。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
16.JAVA类实现序例化的方法是?
JAVA类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatInputStream的readObjeact()方法来读取保存的对象。
17.Collection框架中实现比较要实现什么接口?
要实现Comparable接口,并实现这个接口的唯一方法cpmparaTo(),接受一个Object对象,在这个方法中可以定义对象的排序规则。
18.介绍JAVA中的Collection框架结构,并画出来
<
>
Collection
Set
List
HashSet
Treeset
ArrayList
Vector
19.编程题:
列出某文件夹下的所有文件(文件夹从命令行输入)
解:
importjava.io.*;
publicclasslistFile
publicstaticvoidmain(String[]args)
Strings="
"
;
InputStreamReaderir=newInputStreamReader(System.in);
BufferedReaderin=newBufferedReader(ir);
try{
s=in.readLine();
Filef=newFile(s);
File[]files=f.listFiles();
for(inti=0;
i
if(files[i].isFile())
文件:
+files[i]);
else
目录:
in.close();
catch(IOExceptione)
e.printStackTrace();
20.编程题:
:
写一个满足Singleton模式的类出来
publicclassSingletonTest
{
privatestaticSingletonTestsp;
privateSingletonTest(){}
publicstaticSingletonTestgetInstance()
if(sp==null)
{sp=newSingletonTest();
}
returnsp;
21.编程:
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”
classinterceptString
StringinterceptStr;
intinterceptByte;
publicinterceptString(Stringst