
1.给定如下java代码,下列()方法可以加入到Smaple类中,并且能够编译正确.(选两项)
public class Sample{
int getSomething(int d){
}
}
A.private int getSomething(int i , String s);
B.public void getSomething(int i);
C.private int getSomething(byte b){return b;}
D.public double getSomething(){return 2;}
2.给定如下java代码,编译运行后,结果是(b)
public class Sample{
int x;
}
public void Sample(double f){
this.x=(int)f;
}
public int getX(){
}
public static void main(String [] args){
System.out.println(s.getX());
}
}
A.发生编译错误,编译器提示:出现重复方法Sample
B.发生编译错误,编译器提示:未定义构造方法Sample(double)
C.正常运行,输出5.2
D.正常运行,输出5
3.给定如下java代码,编译运行后,将会输出()结果.
public class Sample{
public double result(double d1,double d2){
}
public double result(int d1,double d2){
}
public int result(int d1,int d2){
}
private int result(int i){
I;
}
public static void main(String args[]){
System.out.print(s.result(2,3.0)+”,”);
System.out.print(s.result(4.0,4.5)+”,”);
System.out.print(s.result(10,9));
}
}
A.3.0,4.0,1
B.2,4.0,1
C.3.0,4.5,-1
D.-1,4.0,1
4.构成方法重载的要素包括().(选三项)
A.方法名称相同
B.返回类型不同
C.参数列表不同
D.在同一个类中
5.在如下所示的Sample类中,共有()个构造方法
public class Sample{
int x;
}
public void Sample(double f){
this.x=(int)f;
}
public Sample(){
}
public Sample(String s){
}
}
A.4
B.3
C.2
D.1
6.给出下列java代码,请指出代码中存在的错误().(选两项)
class Teacher1{
}
}
class Teacher2{
}
}
public class TeacherTest{
public static void main(String [] args){
“Mr Lee”);
}
}
A.Teacher1 类中的构造方法名称与类名不相同
B.Teacher2 类中为定义Teacher2(String name)构造方法
C.测试类中的代码:Teacher1 t1 = new Teacher1(); 不能编译通过
D.没有错误
7.给定如下java代码,下列()方法可以加入到Child类中,并能够保证编译正确.
class Base{
}
class Child extends Base{
}
A.public void method(String s){}
B.public int method(){return 1;}
C.private void method(){}
8.编译运行如下java 代码,以下说法正确的是()
class Base{
public Base(){
“Base”;
}
public void method(){
System.out.println(name);
}
}
class Child extends Base{
“Child”);
”CC”;
}
}
public class Sample{
args){
Chlild c = new Child();
c.method();
}
}
A.发生编译错误
B.正常运行,输出:Base
C.正常运行,输出:Child
D.正常运行,输出:CC
9.在子类的构造方法中,使用()关键字调用父类的构造方法
A.base
B.super
C.this
D.extends
10.构成方法重写的要素不包括().(选两项)
A.方法名称相同
B.返回类型相同
C.参数列表相同
D.在同一个类中
E.存在子类和父类中
F.返回类型不同
11.编译运行下列java代码,输出结果是()
public class Sample{
static void main(String [] args){
c.method();
}
}
class Base extends Object{
”Base constructor”;
}
public Base(String pName){
pName;
}
public void method(){
System.out.println(name);
}
}
calss Child extends Base{
System.out.println(“Child method”);
}
public Child(){
“Child constructor”);
}
}
A.Base constructor
B.Child constructor
C.Child method
12.下面的程序中定义了一个java接口,其中包含()处错误
public interface Utility{
int MAX_SIZE=20;
int MIN_SIZE=10;
System.out.println(“using it”);
}
private int getSize();
void setSize(int i);
}
A.1
B.2
C.3
D.4
13.给定如下java代码,可以填入下划线处的语句是().(选三项)
public interface Utility{}
class FourWheeler inplements Utility{}
class Car extends FourWheeler{}
class Bus extends FoourWheeler{}
public class Test{
args){
}
}
A.Utility car = new Car();
B.FourWheeler bus = new Bus();
C.Utility ut = new Utility();
D.Bus bus = new FourWheeler();
E.FourWheeler fw = new FourWheeler();
14.以下()修饰符用于声明一个类变量,且该变量的值在运行期间恒定不变.
A.static
B.final
C.static final
D.final static
15.给定下列java 代码,可以填入下划线处的语句是()
public interface Constants{
int MAX=50;
int MIN = 1;
}
pulbic class Test{
public static void main(String []args){
}
}
A.Constants con = new Constants();
B.Constants.MAX=100;
C.int i = Constants.MAX-Constants.MIN;
D.Constants.MIN>0 ;
16.公有成员变量MAX是一个int型值,变量的值保持参数值100,在类Constants中,可以使用以下()声明语句来定义这个变量.
A.public int MAX=100 ;
B.final int MAX=100 ;
C.public static int MAX=100 ;
D.public final int MAX = 100;
17.能单独和finally语句一起使用的块是()
a.try
b.catch
c.throw
d.throws
18.下面的程序执行结果是()
public class Test{
args){
}
publid void test(){
System.out.print(“try”);
}catch(ArrayIndexOfBoundsException e){
System.out.print(“catch1”);
}catch(Exception e){
System.out.print(“catch2”);
}finally{
System.out.println(“finally”);
}
}
}
A.try finally
B.try catch1 finally
C.try catch2 finally
D.finally
19.下面代码正确的是()
A. try{
System.out.print(“try”);
}catch(Exception e){
System.out.print(“catch”);
}
B. try{
System.out.print(“try”);
}
C. try{
System.out.print(“try”);
}finally(Exception e){
System.out.print(“finally”);
}
D try{
System.out.print(“try”);
} finally{
System.out.print(“finally”);
}
20.下面的程序的执行结果是()
public class Test{
foo(){
;
s.toLowerCase();
}catch(NulllPointerException e){
System.out.print(“2”);
}finally{
System.out.print(“3”);
}
System.out.print(“4”);
}
}
public static void main(String [] args){
foo();
}
a.2
b.34
c.23
d.234
21.下列类中在多重catch中同时使用时,()异常类应该最后列出
a.ArithmeticException
b.NumberFormatException
c.Exception
d.ArrayIndexOutOfBoundsException
22.下面关于继承的叙述哪些是正确的()
a.在java中只允许单一继承
b.在java中一个类只能实现一个接口
c.在java中一个类不能同时继承一个类和实现一个接口
d.java的单一继承使代码更可靠
23.指出下面关于垃圾收集的哪些叙述哪些是正确的()
a.程序开发者必须自己创建一个线程进行内存释放的工作
b.垃圾收集将检查并释放不再使用的内存
c.垃圾收集允许程序开发者明确指定并立即释放该内存
d.垃圾收集能够在期望的时间释放被java对象使用的内存
24.下面关于变量及其范围的叙述哪些是对的()
a.实例变量是类的成员变量
b.实例变量用关键字static声明
c.在方法中定义的局部变量在该方法被执行时创建
d.局部变量必须在使用前初始化
25.根据下面给出的代码,确定执行结果()
public class Person{
int arr[]=new int [10];
args){
System.out.pirnt(arr[1]);
}
}
a.编译错误
b.编译正确但执行时出错
c.输出0
d.输出null
26.一个类中定义的成员变量只能被同一个包中的类访问,下面哪些修饰符可以获得需要的访问控制()
a.private
b.没有修饰符
c.public
d.protected
27.如果类的设计要求它的某个成员变量不能被外部的类直接访问,应使用下面的哪些修饰符满足设计的要求()
a.private
b.没有修饰符
c.public
d.protected
28.下面代码的下划线处应放哪个语句,能正确编译()
class Person{
name,department;
int age;
n,int a){name=n;age=a;}
n,String d,int a){
department = d;
}
}
a.Person(n,a);
b.this.(Person(n,a));
c.this(n,a);
d.this(name,age);
29.阅读下面代码:
public class Parent{
int addValue(int a,int b){
int s;
a+b;
}
}
class Child extends Parent{
}
下面的哪些代码可以放到Child类中()
a.int addValue(int a,int b){//语句}
b.public void addValue(){//语句}
c.public int addValue(int a){//语句}
d.public int addValue(int a,int b)throws Exception{//语句}
30.给出下面代码:
class Person{
String name,department;
printValue(){
System.out.print(“name is”+name);
System.out.print(“department is”+department);
}
}
public class Teacher extends Person{
int s;
public void printValue(){
System.out.print(“s is ”+s);
}
}
下面哪些表达式可以加入下划线处()
a.printValue();
b.this.printValue();
c.person.printValue();
d.super.printValue();
31.判断下列程序的输出结果()
public class Q1{
args){
try{throw new MyException}
System.out.print(“It’s caught”);
}finally{
System.out.println(“It’s finally caught”);
}
}
}
class MyException extends Exception{}
a.It’s caught
b.It’s finally caught
c.It’s caught It’s finally caught
d.无输出
32.下面程序在oneMethod()方法运行时,最有可能会输出什么()
public calss Test{
oneMethod();
System.out.println(“情况1”);
}catch(ArrayIndexOutOfBoundsException){
System.out.print(“情况2”);
}catch(Exception e){
System.out.print(“情况3”);
}finally{
System.out.print(“finally”);
}
}
a.情况1 finally
b.情况2 finally
c.情况3
d.情况1 情况3 finally
33.下面4段代码中哪个java源文件代码片断是对的(ACD)
a.package testpackage;
public class Test{//语句}
b. import java.io.*;
package testpackage;
public class Test{//语句}
c. import java.io.*;
class Person{//语句}
public class Test{//语句}
d.import java.io.*;
import java.awt.*;
public class Test{//语句}
34.补充完成下列不完整的方法
__________(try)
{success = connect();
if(success==-1){
}
}
35. &和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
36. abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个 有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。 然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到 接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
37. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
38. List, Set, Map是否继承自Collection接口?
List,Set是,Map不是
39. String s = new String("xyz");创建了几个String Object?
两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
40. public class Something {
void doSomething () {
private String s = "";
int l = s.length();
}
}
说出代码中的错误:
局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。
41. 代码改错:
Something类的文件名叫OtherThing.java.
class Something {
private static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}
正确
42. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。
43. 在Java中,关于private修饰符的说法中正确的是
a、其修饰的变量或方法只允许自身访问
b、其修饰的变量或方法允许任意类访问
c、权限高于public
d、用private修饰的变量对其子类是可见的。
44. 以下说法中错误的是
Exception是异常层次结构的根类
不能加载所需类时将引发ClassNotFoundException
ArithmeticException表示发生了算术错误
d 在方法体内向外抛出异常用throws来完成
45. 在java中,关于等值比较的说法中正确的是()
a.任何情形下“==”比较的都是内存地址
b.equals可用于比较基本数据类型
c.equals总是比较两个对象的内容
d.以上说法都不对
46. java中的接口就是定义了一种约定,下列接口定义正确的是( )。
a) interface IPrinter { public void print(); }
b) interface IPrinter
c) interface IPrinter
d) interface IPrinter
System.out.println(“打印机”);}
47. 以下定义的类中( )不是泛型集合类。
a  Student b  ArrayList c  LinkedList d  Map 48. 下面关于设计模式的说法中正确的是(ABC) a) 设计模式来源于生活,属于方范畴 b) 主要源于成功经验总结并解决实际问题出现 c) 不同的设计模式解决不同的问题 d)使用设计模式可以大大简化代码的编写 49.根据下列语句判断哪些表达式返回为true.() String s = “hello”; String t = “hello”; char [] c = {‘h’,’e’,’l’,’l’,’o’} a.s.equals(t) b.t.equals(c) c.s==t d.t.equals(new String (“hello”)) e.t==c 50.根据下面的代码片段判断哪些叙述为真.() public void create(){  myVect;  myVect = new Vector(); } A.第二行的声明不会为变量myVect分配内存空间 B.第二行的声明分配一个到Vector对象的引用的内存空间 C.第二行语句创建一个Vector对象 D.第三行语句创建一个Vector对象 E.第三行语句为一个Vector类对象分配内存空间
