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