1. 在面向对象编程中,一个类型由什么组成?( )
A public
B identifier
C data
D operations
2. 下面哪些是面向对象的基本特性:( )
A 多态
B 继承
C 封装
D 接口
3. 在java中访问权限的限制由严格到宽松依次是:( )
A public
B protected
C private
D default(no modifier)
4. 以下方法声明正确的有:( )
A public static synchronized void writeLog(String msg)
B synchronized public static writeLog(String msg)
C public final abstract void writeLog(String msg)
D final public void writeLog(String msg)
E abstract synchronized void writeLog(String msg)
5. Java方法的参数传递对于基本数据类型如int, byte等,参数传递是 C ;对自定义数据类型,参数传递是:( )
A by reference
B by pointer
C by value
D by address
6. 有如下程序:
public class ArugmentTest {
static class IntA {
private int a;
public IntA(int a) {
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
static public void change(int a) {
a = 3;
}
static public void change(IntA a) {
a.setA(3);
}
static public void changeRef(IntA a) {
a = new IntA(9);
}
public static void main(String[] args) {
int a = 2;
change(a);
System.out.print(a);
IntA ia = new IntA(5);
change(ia);
System.out.print(ia.getA());
changeRef(ia);
System.out.println(ia.getA());
}
}
请问在控制台上输出的是:( )
A 233
B 333
C 259
D 339
7. 下面程序出错的有哪些行?( )
1)class Student{
2) private String name; private int age;
3) public Student(){}
4) public void setName(String name){ this.name=name; }
5) void setAge(int age){ this.age= age; }
6)}
7)public class StudentTest{
8) public void static main(String[] args){
9) Student s = new Student();
10) s.name = “Hellen”;
11) s.setAge(20);
12) }
13)}
A 1)
B 4)
C 8)
D 10)
8. 方法重载(overloading)必须满足:( )
A 在不同class中定义的方法
B 在同一类型中定义的方法
C 方法名必须相同
D 返回类型必须相同
E 参数一定不同
F 参数可以相同
9. 对于构造方法(constructor)描述正确的有:( )
A 构造方法没有返回类型
B 构造方法一定是public的方法
C 如果我们没有显示定义构造方法,系统会提供一个缺省的
D 构造方法不能重载
10. 下列说法正确的是:( )
A JAVA语言允许多继承
B 构造函数只能是public的
C JAVA中只有单继承
D 必须要提供构造函数
11. 显示调用父类型的构造方法是通过调用什么来完成的?( )
A constructor
C methods
C fields
D super
12. 以下对于方法覆盖(overriding)的说法正确的有:( )
A 方法覆盖发生在同一类中
B 方法的覆盖发生在子类型中
C 方法名一定要一样
D 参数一定要一样
E 返回类型可以不一样
F 访问权限只能一样
G 如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
H 静态方法可以被静态方法覆盖
13. 请看以下程序:
class Vehicle {
public void drive() {
System.out.println(“Vehicle: drive”);
}
}
class Car extends Vehicle {
public void drive() {
System.out.println(“Car: drive”);
}
}
public class Test {
public static void main (String args []) {
Vehicle v;
Car c;
v = new Vehicle();
c = new Car();
v.drive();
c.drive();
v = c;
v.drive();
}
}
以下描述正确的有:( )
A 对于语句v=c;会导致编译错误
B 对于语句v=c;会导致运行错误
C 运行输出:
Vehicle: drive
Car: drive
Car: drive
D 运行输出:
Vehicle: drive
Car: drive
Vehicle: drive
14. 如下程序:
public class StaticTest {
static {
System.out.println(“Hi there”);
}
public void print() {
System.out.println(“Hello”);
}
public static void main(String args []) {
StaticTest st1 = new StaticTest();
st1.print();
StaticTest st2 = new StaticTest();
st2.print();
}
}
什么时候字符串“Hi there”会输出?( )
A 永远都不会输出
B 创建st1和st2时
C 第一次将StaticTest类型装载进内存时
D 显示调用print方法时
15. inner class的类型有:( )
A member inner class
B static inner class
C local inner class
D anonymous inner class
E public inner class
F global inner class
参考答案:ABCD
16. 一个匿名内部类有可能是:( )
A 继承其他的类
B 实现了某一接口
C 定义了构造方法
D 可以使用成员变量
17. 下面的几个方法,不能和public void methodA(int arg) {}构成重载(Overload)的有:( )
A public int methodA(int arg){}
B public void methodA(String arg){}
C public void methodA(int arg1, int arg2){}
D public void methodB(int arg){}
E public void methodA(int para){}
18. 请看如下代码:
class EnclosingOne{
public class InsideOne{}
}
public class InnerTest{
public static void main(String args[]){
EnclosingOne eo = new EnclosingOne();
_______________________
}
}
从下面选一段代码插入到上面的横线出不会报错的是:( )
A InsideOne ei = eo.new InsideOne();
B eo.InsideOne ei = eo.new InsideOne();
C InsideOne ei = EnclosingOne.new InsideOne();
D InsideOne ei = eo.new InsideOne();
E EnclosingOne.InsideOne ei = eo.new InsideOne();
19. 下列陈述错误的有哪些:( )
A 在Java中类只允许单一继承
B 在Java中一个类只允许实现一个接口
C在Java中一个接口只能继承一个接口
D 在Java中类不能同时继承一个类和实现一个接口
20. 请看如下代码:
public class Father {
int i=10;
public static void main(String[] args) {
Father o1 = new Father();
System.out.println(o1.i);
Father o2= new Son();
System.out.println(o2.i);
Son o3 = new Son();
System.out.println(o3.i);
}
}
class Son extends Father{
int i=20;
}
以上代码输出结果是:( )
A 10 20 20
B 10 10 10
C 10 10 20
21. 下面哪些语句会被正确编译?( )
A File f = new File(“/”, “autoexec.bat”);
B DataInputStream d = new DataInputStream(System.in);
C OutputStreamWriter o = new OutputStreamWriter(System.out);
D RandomAccessFile r = new RandomAccessFile(“OutFile”);
22. 以下描述正确的有:( )
A final class不能被继承
B final变量不能被修改
C final成员变量可以在构造方法中赋值
D final方法不能被覆盖(overriden)
23. 以下描述正确的有:( )
A abstract class一定有abstract method(s)
B abstract class可以没有abstract method(s)
C 定义abstract class的目的是为了被继承
D interface中定义的方法全是abstract methods
E interface中定义的变量全部是final static变量
24. 请看如下代码段:
1)class Super{
2) public float getNum(){
3) return 3.0f;
4) }
5)}
6)
7) public class Sub extends Super{
8)_____________
9) }
下面哪个方法放在第8行会产生一个编译错误?( )
A public float getNum(){return 4.0f;}
B public void getNum(){}
C public void getNum(double d){}
D public double getNum(float d){return 4.0d;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)