Java基础题2:类和对象

1.下面代码的运行结果是()

public static void main(String[] args){

  String s;

  System.out.println("s="+s);

}

A.代码编程成功,并输出”s=”
B.代码编译成功,并输出”s=null”
C.由于String s没有初始化,代码不能编译通过。
D.代码编译成功,但捕获到NullPointException异常

【答案】
C
【解析】
局部变量在使用的时候,一定要进行初始化。

2.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()

package NowCoder;
class Test {
	public static void hello() {
	    System.out.println("hello");
	}
}
public class MyApplication {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Test test=null;
		test.hello();
	}
}

A.能编译通过,并正确运行
B.因为使用了未初始化的变量,所以不能编译通过
C.以错误的方式访问了静态方法
D.能编译通过,但因变量为null,不能正常运行

【答案】
A
【解析】

Test test=null;
test.hello();
因为test=null不指向任何对象 并调用hello(),如果hello不是静态方法的话,就会报空指针异常。
因为hello()是静态的方法,所以通过test可以调用hello,因为test的本质还是Test类型。

3.如下代码的输出结果是什么?

public class Test { 
    public int aMethod(){
        static int i = 0;
        i++; 
        return i;
    } 
public static void main(String args[]){
    Test test = new Test(); 
    test.aMethod(); 
    int j = test.aMethod();
    System.out.println(j);
    } 
}

A.0
B.1
C.2
D.编译失败

【答案】
D
【解析】
Java中不允许定义局部的静态变量!
在方法中定义的变量是局部变量,为静态方法属于类变量。随着类的加载而被创建,而局部变量是调用该方法的时候,才创建的。

4. 以下代码在编译和运行过程中会出现什么情况

public class TestDemo {
  private int count;
  public static void main(String args[]){
    TestDemo test = new TestDemo(88);
    System.out.println(test.count);
  }
  TestDemo(int a){
	count=a;
}
}

A.编译运行通过,输出结果是88
B.编译时错误,count变量定义的是私有变量
C.编译时错误,System.out.println方法被调用时test没有初始化
D.编译和执行时没有输出结果

【答案】
A
【解析】
TestDemo test = new TestDemo(88); 这里它会创造TestDemo对象并且调用一个整型的构造方法,就是下面的 TestDemo(int a){}.
所以把88给了私有的count,因为是在当前类中调用,所以会正常输出。

5.关于包的说法,错误的是()

A.包是一组类的集合
B.包能防止类的名字冲突
C.import语句能够导入 一个指定的包
D.import static能够导入一些静态方法

【答案】
C
【解析】
import导入的是包中的类,不能导入包。

你可能感兴趣的:(Java题库,java,开发语言,学习方法,算法)