1. 有以下程序片段,下列哪个选项不能插入到第一行 。(A )。
1.
2.public class A{
3.//do sth
4. }
A.public class MainClass{ }
B. package mine;
C. class ANotherClass{ }
D. import java.util.*;
解析:
Java一个源程序只能有一个public类存在,且类名与文件名相同。Java程序是从main方法开始执行的,public为类加载器提供入口,然后找到public类中的main方法开始执行。如果存在多个public类,程序将不知道该从哪里执行。
注意,内部类可以是public的,因为内部类是作为外部类的成员存在的。
2. jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。
常量池属于 PermGen(方法区)
3. 已知有下列Test类的说明,则下列哪个语句是正确的?(A)
public class Test
{
private float f = 1.0f;
int m = 12;
static int n = 1;
public static void main (String args[])
{
Test t = new Test();
}
}
A.t.f;
B. this.n;
C. Test.m
D. Test.f
解析:
B项错误:this不能在static的方法中使用,this是指向对象的的引用,而静态方法在类加载的时候创建加载,此时没有创建对象。
C,D项错误:m 和 f 都是普通成员属性,而 “类名.” 方式只能调用 静态成员属性。
4. 关于如下程序的描述哪个是正确的?(C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]){
System.out.println(arr[0]);
}
}
A.编译将产生错误
B.编译时正确,但运行时将产生错误
C.正确,输出0
D.正确,输出 null
解析:
类的成员变量会被默认初始化.
char[] ch = new char[3];//默认空格
int [] Int = new int[2];//默认0
String[] strings = new String[2];//默认null
5