此试题为北京南天软件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:以上是南天软件大部分试题,回来后做的整理,如有答案不正确或另有高见,不吝指教!
---------------忧伤的分割线------------------
此笔试题做的自我感觉良好,可被告知学历不符合公司要求而不能进行面试
无奈伤心离去......