北京南天软件java工程师面试题

此试题为北京南天软件java工程师面试题(部分)

一、单项选择

(1)下列关于构造方法的叙述中,错误的是(C)

A、java语言规定构造方法名与类名必须相同

B、java语言规定构造方法没有返回值,但不用void声明

C、java语言规定构造方法不可以重载

D、java语言规定构造方法只能通过new自动调用

(2)下列哪个类的声明是正确的(D)

A、abstract  final  class HI()

B、abstract  private  move(){}

C、protected  private  number;

D、public  abstract  class  Car{}

(3)关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)

A、可以被三种类所引用:该类本身、与它同一个包中的其他类、在其他包中的该类的子类

B、可以被两种类访问和引用:该类本身、该类的所有子类

C、只能被该类自身所访问和修改

D、只能被同一个包中的类访问

(4)以下声明合法的是(B)

A、default  String  s;

B、public  final  static  native  int  w()

C、abstract  double  d;

D、abstract  final  double  hyperbolicCosine()

(5)所有Exception的基类是(C)

A、IOException

B、Error

C、Throwable

D、RuntimeException

(6)下列关于for循环和while循环的说法中哪个是正确的(?)//有说A正确也有说D正确,不解?

A、while循环能实现的操作,for循环也都能实现

B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C、两种循环任何时候都可替换

D、两种循环结构中都必须有循环体,循环体不能为空

(7)类Test1定义如下,将以下哪种方法插入行3是不合法的(B)

1、public class Test1 {
2、 public float aMethod(float a,float b){};
3、
4、}

A、public  float  aMethod(float  a,float  b,float  c){}

B、public  float  aMethod(float  c,float  d){}

C、public  int  aMethod(int  a,int  b){}

D、private  float  aMethod(int  a,int  b,int  c){}

(8)阅读以下代码输出结果为(C)

public class T {
public static void main(String[] args) {
String s;
System.out.println("s="+s);
}
}

A、代码得到编译,并输出"s="

B、代码得到编译,并输出"s=null"

C、由于String  s没有初始化,代码不能编译通过

D、代码得到编译,但捕获到NullPointException异常

(9)编译运行以下程序后,关于输出结果的说明正确的是(C)//考察类型转换,低精度要向高精度转换

public class T {
public static void main(String[] args) {
int x = 4;
System.out.println("value is "+((x>4)?99.9:9));
}
}

A、输出结果为:value  is  99.99

B、输出结果为:value  is 9

C、输出结果为:value  is 9.0

D、编译错误

(10)以下程序的运行结果为(C)

public class T {
public static void main(String[] args) {
int c = 2;
System.out.print(c);
System.out.print(c++);
System.out.print(c);
}
}

A、222   B、233

C、223  D、344

三、写出以下程序的运行结果

1、写出以下程序的运行结果

public class T {
public static void changeStr(String str){
str = "welcome";
}
public static void main(String[] args) {
String str = "1234";
changeStr(str);
System.out.println(str);
}
}

答:运行结果为1234。String是不可变字符串

2、写出以下程序的运行结果

class First{
public First(){
aMethod();
}
public void aMethod(){
System.out.println("in First class");
}
}
public class Second extends First{
public void aMethod(){
System.out.println("in Second class");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Second();
}
}

答:运行结果为in  Second  class

3、写出以下程序的运行结果

public class T {
static boolean foo(char c){
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i = 0;
for(foo('a');foo('b')&&(i<2);foo('c')){
i++;
foo('d');
}
}
}

答:运行结果为:abdcbdcb。不知道为什么...

4、写出以下程序的运行结果

class A{
static{
System.out.println("a static");
}
public A(){
System.out.println("a construct");
}
}
class B extends A{
static{
System.out.println("b static");
}
public B(){
System.out.println("b construct");
}
}
public class T { public static void main(String[] args) {
// TODO Auto-generated method stub
A ab = new B();
ab = new B();
}
}

答:运行结果为

a static

b static

a construct

b construct

a construct

b construct

PS:以上是南天软件大部分试题,回来后做的整理,如有答案不正确或另有高见,不吝指教!

---------------忧伤的分割线------------------

此笔试题做的自我感觉良好,可被告知学历不符合公司要求而不能进行面试

无奈伤心离去......

上一篇:Android 图标上面添加提醒(一)使用Canvas绘制


下一篇:struts2 中属性驱动(其实就是struts2 action 中处理 request 的参数【old 方式servlet api 封装数据到javabean中(or beanutils)】),这里属性驱动是新方式