北润JAVA考核-面向对象
第一部分 英语测试(每题分,共分)
第二部分 知识点测试(分)
一、选择题(每题2分,共110分)
1.下面关于变量及其作用范围的陈述哪个是不对的?( B )
A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
2.下面哪条语句把方法声明为抽象的公共方法?( B )
A.public abstract method(); B.public abstract void method();
C.public abstract void method(){} D.public void method() extends abstract;
3.若在某一个类定义中定义有如下的方法:final void aFinalFunction( ){}则该方法属于( C )。
A、本地方法 B、静态方法 C、最终方法 D、抽象方法
4.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )。
A、 public static void main() B、 public static void main(String[ ] args)关于诚信的征文
C、 public static int main(String[ ] args) D、public void main(String arg[ ])
5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
6.下列关于构造方法的叙述中,错误的是( C )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
7.东马塍关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
广告案例分析D.只能被同一个包中的类访问
8.类Test1定义如下:
1. public class Test1{
2. public floataMethod(float a, float b){}
早安短句正能量3.
4.}
将以下哪种方法插入行3是不合法的。( B )
A擦黑、public float aMethod(float a,floatb,float c){ }
B、public float aMethod(float c,floatd){ }
C、public int aMethod(int a,intb){ }
D、private float aMethod(inta,intb,intc){ }
9.阅读以下代码:创新实干
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
输出结果应该是:( C )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获NullPointException异常
解析:局部变量必须显示的初始化。引用类型变量初始化时如果没有具体对象引用,可以初始化为null。
10.下述概念中不属于面向对象这种编程范畴的是( D )。
A.对象、消息 B.继承、多态
C.类、封装 D.过程调用
11.编译并运行以下程序,以下描述哪个选项是正确的( A )。
1. class A{
2. protected String toString(){
3. String();}
4. }
A、行2出错,不能成功编译 B、编译通过但运行时出错
C、编译通过运行无异常 D、不能成功编译,行3出错
解析:方法重写时没有满足访问权限控制符要比父类的大或者相同。
12.假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的?( A )
public class Foo
{
int i;
static String s;
void imethod() { }
static voidsmethod() { }
}
A、Foo.imethod(); B、f.imethod(); C后悔后、System.out.println(f.i); D、Foo.smethod()
13.以下哪个接口的定义是正确的?( D )
A、interface A
{ void print() { } ;}
B、abstract interface A
{ void print() ;}
C、abstract interface A extends I1, I2 //I1、I2为已定义的接口
{ abstract void print(){ };}
D、interface A
{ void print();}
解析:接口定义时语法规定上是不需要加abstract的,因为接口本身就是abstract的,java编译器在编译接口时会自动加上abstract。但是我们显示的加上abstract是不会出现问题,
不建议加。此处选项B和C可以认为不正确。
14.关于以下程序段,正确的说法是( C )
1. String s1=“a”+“b”;
2. String s2=new String(s1);
3. if(s1==s2)
4. System.out.println(“= = is succeeded”);
5. if (s1.equals(s2))
6. System.out.println(“.equals() is succeeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 D.行4、行6都不执行
15.下面程序运行结果为:( D,如果输出count则为A)
public class test3{
public static void main(String args[]){
int count=0;
for (int i=0;i<=100;i++)
count+=count++;
}
}
A 0 B 7 C 编译有错误 D 其他答案
16.下面哪个函数是public void aMethod(){...}的重载函数?( D )
A、void aMethod( ){...}
B、public int aMethod(){...}
C、public void aMethod ( ){...}
D、public int aMethod ( int m){...}
17.下面关于继承的哪些叙述是正确的?( D )
A.在java中允许多继承。
B. 在java中一个类只能实现一个接口。
C. 在java中一个类不能同时继承一个类和实现一个接口。
D. java的单一继承使代码更可靠。
18.运行下面程序段的结果是:( D )。
public class MyMain{
public static void main(String args){
System.out.println(“Hello Java”);
}
}
A.正常输出Hello Java