1.现在有如下一段程序:
class Happy {
public static void main(String args[]) {
float [][] f1 = {{1.2f,2.3f},{4.5f,5.6f}} ;
Object oo = f1 ;
f1[1] = oo ;
System.out.println("Best Wishes "+f1[1]);
}
}
运行该程序会出现什么结果?
A. {4.5,5.6}
B. 4.5
C. compilation error in line NO.5
D. exception
将之写到编辑器:
由图片可以看出:需要的时float类型,而我们提供的是Object类型,因而报错。当我们将提供的类型强转为float时,发现没有报错:
所以应该选C。
2.定义类时不可能用到的关键字是?
A. final
B. public
C. protected
D. static
在编辑器测试了一下:
发现在内部类定义是都可以使用,在外部类是protected和static都报错,
网上查了查关于static、final、public、protected使用范围:
public:使用范围最广,几乎所有对象都可以使用,包括类、接口、变量、方法等;
static:被静态修饰的变量/方法,都会随类的加载而加载;被静态修饰的变量/方法,优先于对象存在;被静态修饰的变量可以被多个对象共用;
final:final在方法之前,防止该方法被覆盖;在类之前,表示该类不能被继承;在变量之前,定义一个常量;
protected:可以修饰成员变量和方法;protected修饰的变量/方法可以被本类中的子类访问,即便子类和父类不在同一包中。
可以修饰类的修饰符由public、static、final、abstract
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);
}
}
原因在于static不能修饰局部变量。