SATC答案3教案资料.docx
《SATC答案3教案资料.docx》由会员分享,可在线阅读,更多相关《SATC答案3教案资料.docx(33页珍藏版)》请在冰豆网上搜索。
SATC答案3教案资料
SATC答案3
试题总计:
70总分:
100
SUNJAVA程序员
1:
单选(1分)下列有关父类属性和方法继承规则的描述错误的是哪项?
A父类中private修饰的属性和方法在子类中不被继承
B父类中public修饰的属性和方法在子类中被继承且可访问
C父类中protected修饰的属性和方法在子类中被继承且可访问
D父类中default修饰的属性和方法在子类中被继承,若父类和子类在同一个包中,则也可访问
2:
单选(1分)在子类中调用父类中被覆盖的方法时需要使用哪项关键字?
Athis
Bsuper
Cnew
D以上都不是
3:
单选(1分)publicclassPet{
privateStringname;
publicPet(){
System.out.print
(1);
}
publicPet(Stringname){
System.out.print
(2);
}
}
publicclassDogextendsPet{
publicDog(){
System.out.print(4);
}
publicDog(Stringname){
this();
System.out.print(3);
}
}
执行newDog(“棕熊”);后程序输出是哪项?
A143
B423
C243
D1134
4:
单选(1分)如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?
Aabstract
Bfinal
Cstatic
Dnew
5:
单选(1分)现有:
2.classCat{
3.Cat(intc){System.out.print("cat"+c+"");}
4.}
5.classSubCatextendsCat{
6.SubCat(intc){super(5);System.out.print("cable");}
7.SubCat(){this(4);}
8.publicstaticvoidmain(String[]args){
9.SubCats=newSubCat();
10.}
11.}
结果为:
Acat5
Bcable
Ccablecat5
Dcat5cable
6:
单选(1分)现有:
1.classGuy{Stringgreet(){return"hi";}}
2.classCowboyextendsGuy{Stringgreet(){return"howdy";}}
3.classSurferextendsGuy{Stringgreet(){return"dude!
";}}
4.
5.classGreetings{
6.publicstaticvoidmain(String[]args){
7.Guy[]guys={newGuy(),newCowboy(),newSurfer()};
8.for(Guyg:
guys)
9.System.out.print(g.greet());
10.}
11.}
结果为:
Ahihihi
Bhihowdydude!
C运行时异常被抛出。
D第7行出现一个错误,编译失败。
7:
单选(1分)现有:
1.classPasser2{
2.//insertcodehere
3.staticintbigState=42;
4.publicstaticvoidmain(String[]args){
5.bigState=p2.go(bigState);
6.System.out.print(bigState);
7.}
8.intgo(intx){
9.return++x;
10.}
11.}
和4段代码片段:
staticPasser2p2=newPasser2();
finalstaticPasser2p2=newPasser2();
privatestaticPasser2p2=newPasser2();
finalprivatestaticPasser2p2=newPasser2();
有多少行分别插入到第2行,可以编译?
A0
B1
C3
D4
8:
单选(1分)现有:
1.finalclassTree{
2.privatestaticStringtree="tree";
3.StringgetTree(){returntree;}
4.}
5.classElmextendsTree{
6.privatestaticStringtree="elm";
7.publicstaticvoidmain(String[]args){
8.newElm().go(newTree());
9.}
10.voidgo(Treet){
11.Strings=t.getTree()+Elm.tree+tree+(newElm().getTree());
12.System.out.println(s);
13.}}
结果为:
Aelmelmelmelm
Btreeelmelmelm
Ctreeelmtreeelm
D编译失败
9:
单选(1分)现有:
classTestMain{
staticintx=2;
static{x=4;}
staticpublicvoidmain(String[]args){
inty=x+1;
System.out.println(y);
}
}
和命令行:
javaTestMain
结果为:
A3
B5
C编译失败
D运行时异常被抛出
10:
单选(1分)现有:
1.importjava.util.*;
2.classBanana3{
3.publicstaticvoidmain(String[]args){
4.intx=2;
5.Banana3b=newBanana3();
6.b.go(x);
7.}
8.static{x+=x;}
9.voidgo(intx){
10.++x;
11.System.out.println(x);
12.}
13.}
结果为:
A2
B3
C5
D编译失败
11:
单选(1分)现有:
1.abstractclassColor2{
2.//insertcodehere
3.}
4.
5.publicclassBlue2extendsColor2{
6.publicStringgetRGB(){return"blue";}
7.}
和4个声明:
publicabstractStringgetRGB();
abstractStringgetRGB();
privateabstractStringgetRGB();
protectedabstractStringgetRGB();
分别插入到第2行,有多少行可以编译?
A0
B1
C2
D3
12:
单选(1分)publicclassTestApp{
publicstaticvoidmain(String[]args){
try{
Stringmyname=null;
if(myname.length()〉2)
System.out.print(“1”);
}catch(NullPointerExceptione){
System.out.print(“2”);
}
}
}
上述程序运行后的输出是哪项?
A1
B12
C21
D2
13:
单选(1分)publicclassTestApp{
publicstaticvoidmain(String[]args){
try{
inti=0;
intj=1/i;
System.out.println(“1”);
}catch(Exceptione){
System.out.print(“3”);
}finally{
System.out.print(“4”);
}
}
}
上述程序运行后的输出是哪项?
A4
B34
C43
D14
14:
单选(1分)现有:
1.classBirds{
2.publicstaticvoidmain(String[]args){
3.try{
4.thrownewException();
5.}catch(Exceptione){
6.try{
7.thrownewException();
8.}catch(Exceptione2){System.out.print("inner");}
9.System.out.print("middle");
10.}
11.System.out.print("outer");
12.}
13.}
结果为:
Ainner
Binnerouter
Cmiddleouter
Dinnermiddleouter
15:
单选(1分)现有:
9.voidtopGo(){
10.try{
11.middleGo();
12.}catch(Exceptione){
13.System.out.print("catch");
14.}
15.}
16.voidmiddleGo()throwsException{
17.go();
18.System.out.print("latemiddle");
19.}
20.voidgo()throwsException{
21.thrownewException();
22.}
如果调用topGo(),则结果为:
Acatch
Blatemiddle
Clatemiddlecatch
Dcatchlatemiddle
16:
单选(1分)现有:
1.classPropeller2{
2.publicstaticvoidmain(String[]args)//addcodehere?
3.{newPropeller2().topGo();}
4.
5.voidtopGo()//addcodehere?
6.{middleGo();}
7.
8.voidmiddleGo()//addcodehere?
9.{go();System.out.println("latemiddle");}
10.
11.voidgo()//addcodehere?
12.{thrownewException();}
13.}
为使代码通过编译,需要在哪一行加入声明throwsException?
A只在第11行
B只在第8行和第11行
C在第5行、第8行和第11行
D在第2行、第5行、第8行和第11行
17:
单选(1分)针对Set〈String〉s接口,下列哪项是正确的?
As.add
(2)
Bs.add(newInteger
(2))
Cs.add(“2”)
Ds.add(newjava.util.Date())
18:
单选(1分)BufferedWriter对象中的newLine()方法的含义是哪项?
A产生换行
B插入一个空行
C产生回车
D以上都不对
19:
单选(1分)现有:
-f对一个java.io.File型实例的合法引用
-fr对一个java.io.FileReader型实例的合法引用
-br对一个java.io.BufferedReader型实例的合法引用和:
34.Stringline=null;
35.
36.//insertcodehere
37.System.out.println(line);
38.}
哪一行代码插入到36行将循环通过一个文本文件并在文本域中每次输出一行?
Awhile((line=f.read())!
=null){
Bwhile((line=fr.read())!
=null){
Cwhile((line=br.read())!
=null){
Dwhile((line=br.readLine())!
=null){
20:
单选(1分)现有:
1.classDogimplementsSerializable{
2.Collarc=newCollar();
3.}
4.classCollarimplementsSerializable{
5.CollarPartcp1=newCollarPart("handle");
6.CollarPartcp2=newCollarPart("clip");
7.}
8.
9.classCollarPartimplementsSerializable{}
如果Dog实例被序列化,则多少对象将被序列化?
A0
B1
C2
D4
21:
单选(1分)现有:
1.importjava.io.PrintWriter;
2.
3.classDoFormat{
4.publicstaticvoidmain(String[]args){
5.intx=42;
6.inty=12345;
7.floatz=7;
8.System.out.format("-%4d-",x);
9.System.out.format("-%4d-",y);
10.System.out.format("-%4.1d-",z);
11.}
12.}
结果为:
A编译失败
B-42--1234--7.0-
C-42--1234--7.0-
D运行时异常被抛出
22:
单选(1分)现有:
1.importjava.util.*;
2.classScanStuff{
3.publicstaticvoidmain(String[]args){
4.Strings="x,yy,123";
5.Scannersc=newScanner(s);
6.while(sc.hasNext())
7.System.out.print(sc.next()+"");
8.}
9.}
结果是什么?
Axyy
Bx,yy
Cxyy123
Dx,yy,123
23:
单选(1分)类Account中字段声明正确的是?
AclassAccount{
name;
amount;
}
BclassAccount{
Stringname;
doubleamount;
}
CclassAccount{
Stringname=1.0;
doubleamount=”Mike”;
}
DclassAccount{
Stringname=”Mike”,doubleamount=1000.0;
}
24:
单选(1分)以下哪项不是Swing容器?
AJFrame
BJApplet
CJDialog
D以上皆是
25:
单选(1分)以下关于BorderLayout类功能的描述,哪项错误?
A它是一种特殊的组件
B它可以对GUI容器中的组件完成边框式的布局
C它位于java.awt包中
D它可以与其它布局管理器协同工作
26:
单选(1分)类Account中方法声明正确的是哪一项?
AclassAccount{
deposit();
}
BclassAccount{
voiddeposit();
}
CclassAccount{
voiddeposit{}
}
DclassAccount{
voiddeposit(){}
}
27:
单选(1分)现有:
1.classWorkimplementsRunnable{
2.Threadother;
3.Work(Threadother){this.other=other;}
4.publicvoidrun(){
5.try{other.join();}catch(Exceptione){}
6.System.out.print("afterjoin");
7.}}
8.
9.classLaunch{
10.publicstaticvoidmain(String[]args){
11.newThread(newWork(Thread.currentThread())).start();
12.System.out.print("afterstart");
13.}}
结果为:
Aafterjoin
Bafterstart
C编译失败
Dafterstartafterjoin
28:
单选(1分)现有:
1.classOrder3implementsRunnable{
2.publicstaticvoidmain(String[]args){
3.newThread(newOrder3()).start();
4.for(intx=0;x〈10;x++)System.out.print("m");
5.}
6.publicvoidrun(){
7.for(intx=0;x〈10;x++){
8.//insertcodehere
9.System.out.print("r");
10.}
11.}
12.}
和:
当代码被编译并照此运行时产生"before"的输出,当下列内容插入到代码第8行时产生"after"输出
if(x〉3&&x〈7)Thread.yield();
对比“before”的输出结果和“after”的输出结果,下面哪一项是正确的?
A输出字符的总数可能改变。
B当添加额外的代码时,编译将失败。
C在“after”输出结果中,字符“m”较早出现的可能性较小。
D在“after”输出结果中,字符“m”较早出现的可能性较大。
29:
单选(1分)能够遍历泛型List〈Integer〉al中的所有元素的语句是哪项?
Afor(Integeri:
al)
Bfor(i:
al)
Cfor(al)
DforEach(Integeri:
al)
30:
单选(1分)现有:
1.importjava.util.*;
2.classSubGen{
3.publicstaticvoidmain(String[]args){
4.//insertcodehere
5.}
6.}
7.classAlpha{}
8.classBetaextendsAlpha{}
9.classGammaextendsBeta{}
和四段代码片段:
s1.ArrayList〈?
extendsAlpha〉list1=newArrayList〈Gamma〉();
s2.ArrayList〈Alpha〉list2=newArrayList〈?
extendsAlpha〉();
s3.ArrayList〈?
extendsAlpha〉list3=newArrayList〈?
extendsBeta〉();
s4.ArrayList〈?
extendsBeta〉list4=newArrayList〈Gamma〉();ArrayList〈?
extendsAlpha〉list5=list4;
哪些片段分别插入到第4行,可允许代码编译?
A只有s1
B只有s3
C只有s1和s3
D只有s1和s4
31:
单选(1分)GUI事件机制的导入包是:
Ajava.awt
Bjava.awt.event
Cjavax.swing
Djavax.swing.event
32:
单选(1分)使GUI事件处理器生效的方法是:
A将事件源向事件处理器注册
B将事件处理器向事件源注册
C将事件处理器向事件注册
D将事件向事件处理器注册
33:
单选(1分)我们定义一个Account类来描述银行账户,银行账户有账户名、金额等属性特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?
AclassAccount{
Stringname;//账户
Stringamount;//金额
Account(Stringname){}
voiddeposit(doublemount){//存款
}
voidwithdraw(doublemount){//取款
}
}
BclassAccount{
Stringname;//账户
doubleamount;//金额
Account(doubleamount){}
voiddeposit(doublemount){//存款
}
voidwithdraw(doublemount){//取款
}
}
CclassAccount{
Stringname;//账户
doubleamount;//金额
Acc