37、A public member vairable called MAX_LENGTH which is int type, the value of the variable remains constant value 100. Use a short statement to define the variable.

  A. public int MAX_LENGTH=100;

  B. final int MAX_LENGTH=100;

  C. final public int MAX_LENGTH=100;

  D. public final int MAX_LENGTH=100.

  (d)

它的解析:题目:共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100。使用一个短声明定义这个变量。

  Java中共有变量使用public定义,常量变量使用final,另外注意的是修饰符的顺序,一个最完整的修饰是public static final int varial_a=100;这个顺序不能错,这和c++中也是不同的。而答案c恰恰错在修饰符的顺序上。c也对啊  编译通过,而且是常量吧

解决方案 »

  1.   


    c 确实是完全没有问题的!
    public class code {  
       final public int MAX_LENGTH=100; 
       
       public static void main(String[] args)
       {
       code cd = new code();
       System.out.println(cd.MAX_LENGTH);
       }}
    正常编译,最后输出:100
      

  2.   

    难道答案就是C ,D 不行是因为声明后面是“.",而不是“;”。
    考官不会这么BT吧!
    至少“C. final public int MAX_LENGTH=100; ”  在jdk1.5上是编译和运行没有任何问题!
      

  3.   

    SCJP的题目吧.c编译虽然能通过,但是public/no modifier/protect/private标识的是访问控制权限,final标识是否是常量。从语法的修饰顺序上说,这个是java推荐的修饰顺序。既然你是考SCJP,那么,遵守规范吧。
      

  4.   

    SCJP一般就是考那么细,只要编译运行没问题的都正确的