4.
public class Something {
public int addOne(final int x) {
return ++x;
}
}
错。
final修饰的基本类型是基本类型的值不能发生改变。
5.
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
正确。
6.
class Something {
int i;
public void doSomething() {
System.out.println("i = " + i);
}
public static void main(String[] args)
{
new Something().doSomething();
}
}
正确。
7.
class Something {
final int i;
public void doSomething() {
System.out.println("i = " + i);
}
public static void main(String[] args)
{
new Something().doSomething();
}
}
错。
final修饰的变量是一个常量,必须要给值。
8.
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
错。
问题:
静态只能直接访问静态。
但是可以通过对象访问非静态。
9.
interface A{
int x = 0;
//public static final int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}