给出以下代码,请问该程序的运行结果是什么
public class Example{
static int x;
static public void main(String[ ]args){
x=x+1;
System.out.println("Value is"+x);
}
}
A、代码编译失败,因为main()方法形式不对。
B、代码编译成功,但在运行期第5行抛出一个NullPointerException异常。
C、代码编译成功,打印输出Value is 1。
D、代码编译失败,因为变量x未被初始化。
Java类中以static修饰的变量(即静态变量)会在编译期间由系统自动初始化并赋予默认值,所以在我们没有实例化的情况也可以使用。Java中任何变量会在程序运行中通过实例化由系统动态的自动分配内存空间,而静态是在编译后便已分配了内存,并且随着类的存亡而存亡,只要类没有结束退出,静态变量所占有的内存就会一直存在.
所以 static int x=0
下面中哪两个可以在A的子类中使用:( )
class A {
protected int method1 (int a, int b) {
return 0;
}
}
A. public int method 1 (int a, int b) { return 0; }
B. private int method1 (int a, int b) { return 0; }
C. private int method1 (int a, long b) { return 0; }
D. public short method1 (int a, int b) { return 0; }
解答:AC
主要考查子类重写父类的方法的原则:
B,子类重写父类的方法,访问权限不能降低
C,属于重载
D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类