1.下面中哪两个可以在A的子类中使用:( )
class A {
protected int method1 (int a, int b) {
return 0; }}
A. public int method 1 (int a, int b) { return 0; }
B. private int method1 (int a, int b) { return 0; }
C. private int method1 (int a, long b) { return 0; }
D. public short method1 (int a, int b) { return 0; }
解答:AC
主要考查子类重写父类的方法的原则
B,子类重写父类的方法,访问权限不能降低
C,属于重载
D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类
2.抽象方法可以为静态吗?
A True
B False
解答:B
抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与abstract是矛盾的,所以abstract是不能被修饰为static,否则就失去了abstract的意义了
3.下面关于变量及其范围的陈述哪些是不正确的( ):
A.实例变量是类的成员变量
B.实例变量用关键字static声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
解答:BC
由static修饰的变量称为类变量或是静态变量
方法加载的时候创建局部变量
4.下列关于修饰符混用的说法,错误的是( ):
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
解答 D
:静态方法中不能引用非静态的成员
5.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ):
A、 x[24]为0
B、 x[24]未定义
C、 x[25]为0
D、 x[0]为空
解答:A
x属于引用类型,该引用类型的每一个成员是int类型,默认值为:0
6.下列说法正确的有()
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D.一个class只能定义一个constructor
解答:C
构造方法的作用是在实例化对象的时候给数据成员进行初始化
A.类中如果没有显示的给出构造方法,系统会提供一个无参构造方法
B.构造方法与类同名,类中可以有和类名相同的方法
D.构造方法可以重载
7.下列哪种说法是正确的()
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用其他类的实例方法
D.实例方法可直接调用本类的类方法
解答:D
A. 实例方法不可直接调用超类的私有实例方法
B. 实例方法不可直接调用超类的私有的类方法
C.要看访问权限
8.下列哪一种叙述是正确的( )
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{ }包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
解答:D
abstract可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号{}
9.链表具有的特点是:(选择3项)
A、不必事先估计存储空间
B、可随机访问任一元素
C、插入删除不需要移动元素
D、所需空间与线性表长度成正比
解答:ACD
A.采用动态存储分配,不会造成内存浪费和溢出。
B. 不能随机访问,查找时要从头指针开始遍历
C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素
D. 需要用额外空间存储线性表的关系,存储密度小
10.Java语言中,String类的IndexOf()方法返回的类型是?
A、Int16 B、Int32 C、int D、long
解答:C
indexOf方法的声明为:public int indexOf(int ch)
在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回 -1。
19.以下关于面向对象概念的描述中,不正确的一项是()。(选择1项)
A.在现实生活中,对象是指客观世界的实体
B.程序中的对象就是现实生活中的对象
C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D.在程序中,对象是一组变量和相关方法的集合
解答:B
11…执行下列代码后,哪个结论是正确的 String[] s=new String[10];
A. s[9] 为 null;
B. s[10] 为 “”;
C. s[0] 为 未定义
D. s.length 为10
解答:AD
s是引用类型,s中的每一个成员都是引用类型,即String类型,String类型默认的值为null
s数组的长度为10。
12.属性的可见性有。(选择3项)
A.公有的
B.私有的
C.私有保护的
D.保护的
解答:ABD
属性的可见性有四种:公有的(public) 保护的(protected) 默认的 私有的(private)
13…在字符串前面加上_____符号,则字符串中的转义字符将不被处理。(选择1项)
A @
B \
C #
D %
解答:B
14.栈是一种。(选择1项)
A 存取受限的线性结构
B 存取不受限的线性结构
C 存取受限的非线性结构
D 存取不受限的非线性结构
解答:A
栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。
15.下列哪些语句关于内存回收的说明是正确的。(选择1项)
A程序员必须创建一个线程来释放内存
B内存回收程序负责释放无用内存
C内存回收程序允许程序员直接释放内存
D内存回收程序可以在指定的时间释放内存对象
解答:B
垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System. gc 方法来”建议”执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。
16.那个方法是一个类实现java.lang.Runnable interface时要定义的?
A. void run()
B. public void run()
C. public void start()
D. void run(int priority)
E. public void run(int priority)
F. public void start(int priority)
解答:B
实现Runnable接口,接口中有一个抽象方法run,实现类中实现该方法。
17.char的值范围?
A. 0 … 32767
B. 0 … 65535
C. –256 … 255
D. –32768 … 32767
E. Range is platform dependent.
解答:B
在Java中,char是一个无符号16位类型,取值范围为0到65535。
18、 Which two declarations prevent the overriding of a method? (Choose Two)
A. final void methoda() {}
B. void final methoda() {}
C. static void methoda() {}
D. static final void methoda() {}
E. final abstract void methoda() {}
解答:AD
final修饰方法,在子类中不能被重写。
19、那两个创建了数组实例? (Choose Two)
A. int[] ia = new int [15];
B. float fa = new float [20];
C. char[] ca = “Some String”;
D. Object oa = new float[20];
E. Int ia [][] = (4, 5, 6) (1, 2, 3)
解答:AD
任何类的父类都是Object,数组也数据引用类型,Object oa = new float[20];这种写法相当于父类的用指向之类的实例。
20.下面关于import, class和package的声明顺序哪个正确?( )
A. package, import, class
B. class, import, package
C. import, package, class
D. package, class, import
解答:A
21.下面哪个是正确的?( )
A. String temp [] = new String {“a” “b” “c”};
B. String temp [] = {“a” “b” “c”}
C. String temp = {“a”, “b”, “c”}
D. String temp [] = {“a”, “b”, “c”}
解答:D
22.关于java.lang.String类,以下描述正确的一项是( )
A. String类是final类故不可以继承;
B. String类是final类故可以继承;
C. String类不是final类故不可以继承;
D. String类不是final类故可以继承; 解答:A
String类是final的,在java中final修饰类的不能被继承
23.关于实例方法和类方法,以下描述正确的是:( )
A. 实例方法只能访问实例变量
B. 类方法既可以访问类变量,也可以访问实例变量
C. 类方法只能通过类名来调用
D. 实例方法只能通过对象来调用
解答:D
A 实例方法可以访问类变量
B类方法只能访问类变量
C类方法可以通过对象调用
24.接口是Java面向对象的实现机制之一,以下说法正确的是:( )
A. Java支持多重继承,一个类可以实现多个接口;
B. Java只支持单重继承,一个类可以实现多个接口;
C. Java只支持单重继承,一个类只可以实现一个接口;
D. Java支持多重继承,但一个类只可以实现一个接口。
解答:B
Java支持单重继承,一个类只能继承自另外的一个类,但是一个类可以实现多个接口。
25.下列关于interface的说法正确的是:( )
A. interface中可以有private方法
B. interface中可以有final方法
C. interface中可以有function实现
D. interface可以继承其他interface
解答:D
A.接口中不可以有private的方法
B.接口中不可以有final的方法 接口中的方法默认是 public abstract的
C.接口中的方法不可以有实现
26.已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为, protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说话正确的是( )
A. A类的实例不能访问到B类的实例
B. A类的实例能够访问到B类一个实例的x成员
C. C类的实例可以访问到B类一个实例的x成员
D. C类的实例不能访问到B类的实例
解答:C
不同包子类的关系, 可以访问到父类B的protected成员
27.给定如下代码,下面哪个可以作为该类的构造函数 ( )
public class Test {
}
A. public void Test() {?}
B. public Test() {?}
C. public static Test() {?}
D. public static void Test() {?}
解答:B
28.关于sleep()和wait(),以下描述错误的一项是( )
A. sleep是线程类(Thread)的方法,wait是Object类的方法;
B. sleep不释放对象锁,wait放弃对象锁;
C. sleep暂停线程、但监控状态仍然保持,结束后会自动恢复;
D. wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态。
解答:D
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
29.下面能让线程停止执行的有(多选)( )
A. sleep();
B. stop();
C. notify();
D. synchronized();
E. yield();
F. wait();
G. notifyAll();
解答:ABDEF
sleep:导致此线程暂停执行指定时间
stop: 这个方法将终止所有未结束的方法,包括run方法。
synchronized():对象锁
yield:当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。
wait:当前正在被服务的线程需要睡一会,醒来后继续被服务
30.提供Java存取数据库能力的包是()
A.java.sql
B.java.awt
C.java.lang
D.java.swing
解答:A
java.sql是JDBC的编程接口
java.awt和java.swing是做图像界面的类库
java.lang: Java 编程语言进行程序设计的基础类