class Something {final int i;public void doSomething() {System.out.println("i = " + i);}}和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?

题目

class Something {

final int i;

public void doSomething() {

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

}

}

和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?


相似考题
更多“class Something {final int i;public void doSomething() {System.out.println("i = " + i);}}和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?”相关问题
  • 第1题:

    阅读下面的程序段: publiC class Sun { public static void main (String args[ ]) { int a=0; for(int i=1;i<=3;i++) { for(int j=1;j<=i;j++) { for(int k=j;k<=3;k++) { a=a+1; } } } System.out.println(A) ; } } 执行上面的3重循环后,a的值为( )。

    A.3

    B.9

    C.14

    D.21


    正确答案:C
    解析:本题考查对for循环嵌套的理解。本题应用3重嵌套循环,循环嵌套的执行,当外层循环执行1次,内层循环就要执行所有循环。i=1时,j=1,k执行3次循环得到a的值3;i=2,j=1时,k执行3次循环得到a的值加3并覆盖原值,j=2时,k执行两次循环,a的值加2;依次,i=3时,j执行3次。其中,分别执行3、2、1次,a的值分别加3、2、1,最后得到a的值14。故本题答案是C。

  • 第2题:

    若类A和类B的定义如下

    class A

    {

    int i,j;

    public:

    int geti( )

    {

    return i;

    }

    };

    class B:public A

    {

    int k:

    public:

    void make( )

    {

    k=i*j;

    }

    };

    则上述定义中非法的语句是

    A.k=i*j

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第3题:

    本题中,鼠标在窗口中单击一下,就在单击的位置生成一个小矩形,如果在小矩形上双击鼠标左键,则删除小矩形。 import java.awt.*; import java.awt.event.*; import javax swing.*; class MousePanel extends JPanel extends MouseMo- tionListener {public MousePanel {addMouseListener(new MouseAdapter {public void mousePressed(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; current=find(x,y); if(current<0) add(x,y); } public void mouseClicked(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; if(evt.getClickCount>=2) {remove(current); } } }); addMouseMotionListener(this); } public void paintComponent(Graphics g) {super.paintComponent; for(int i=0;i<nsquares;i++) draw(g,i); } public int find(int X,int y) (for(int i=0;i<nsquares;i++) if(squares[i].x-SQUARELENGTH/2<= x X<=squares[i].x+SQuARELENGTH/2 squares[i].Y-SQUARELENGTH/2< =Y y<=squares[i].Y+SQUARELENGTH /2) return i ; return-1 ; } public void draw(Graphics g,int i) {g.drawRect(squares[i].X-SQUARE- LENGTH/2。 squares[i].Y-SQUARELENGTH/2, SQUARELENGTH, SQUARELENGTH); } public void add(int X,int Y) {if(nsquares<MAXNSQUARES) {squares[nsquares]=new Point(x,y); current=nsquares ; nsquares++; repaint; } } public void remove(int n) {if(n<0 ‖ n>=nsquares)return; Nsquares- -; squares[n]=squares[nsquares]; if(current= =n)current= -l; repaint; } public void mouseMoved(MouseEvent evt) {} public void mouseDragged(MouseEvent evt) {} private static final int SQUARELENGTH=10: private static final int MAXNSQUARES=100; private Point[]squares=new Point[MAX- NSQUARES]; private int nsquares=0; private int current=-l; } class MouseFrame. extends JFramc {public MouseFrame {setTitle("java3"); setSize(300,200); addWindowListener(new WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0); } }); Container contentPane=getContentPane; contentPane.add(MousePanel); } } public class java3 {public static void main(String[]args) {JFrame. frame=new MouseFrame; frame.show; } }


    正确答案:
    第l处:extends JPanel implements MouseMotionListener.
    第2处:super.paintComponent(g)
    第3处:contentPane.add(new MousePanel)
    【解析】第1处是继承Jpanel实现鼠标移动监听器接口;第2处以g为参数重新绘制组件;第3处在contentPane内容面板中添加一个MousePanel鼠标面板。

  • 第4题:

    请在每条横线处填写一个语句,使程序的功能完整,且输出结果为91 1。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

    源程序文件代码清单如下:

    public class Outer

    {

    public static void main (String args[]

    {

    Outer i = new Outer();

    i,taskInner();

    }

    public class Inner

    {

    private int size;

    public void doSomething(int size)

    {

    _____________//访问局部变量

    this. size++; //访问内部类的成员变量

    _____________//访问外部类的成员变量

    System.out.println(size+" "+this.size+" "+Outer.this.size);

    }

    }

    public void taskInner()

    {

    ___________

    k.doSomething(8);

    }

    private static int size;

    }


    正确答案:size++; Outer.this.size++: Inner k=new Inner();
    size++; Outer.this.size++: Inner k=new Inner(); 解析:本题主要考查内部类的概念,super,this关键字的用法。解答本题的关键是熟练掌握super, this关键字的用法。在本题中size++;语句是访问局部变量size,Outer.this.size++;语句的功能是访问外部类的成员变量size,InnerK=new Inner();语句的功能是生成内部类Inner的对象K。

  • 第5题:

    下列程序段中,正确的是______。 ①class MvClass { int var = 100; static int getVar() { return var; } } ②public class MyClass { final int date; void MyClass (int d) { date = d; } } ③public class MyMain { public static void main(String args[]) { System.out.println(Myclass1.date); } } class MyClass1 { int data = 10; } ④class IamAbstract { final int f; double d; abstrct void method(); }

    A.②④

    B.①③

    C.②

    D.以上都不对


    正确答案:D

  • 第6题:

    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;

    }

    和上面的很相似,都是关于final 的问题,这有错吗?


    正确答案:

     

    正确。在addOne method 中,参数o 被修饰成final。如果在addOne method 里我们修

    改了o 的reference

    (比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o 的member vairable

    (成员变量),而o 的reference 并没有改变。

  • 第7题:

    class Something {

    final int i;

    public void doSomething() {

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

    }

    }

    和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?


    正确答案:

     

    错。final int i 是个final 的instant variable (实例变量,或叫成员变量)。final 的instant

    variable 没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以

    修改为"final int i = 0;"。

  • 第8题:

    下列程序执行后的结果是______。

    public class ex24

    {

    public static void main(String[] args)

    {

    int j=10;

    a1: for(int i=3;i>0;i--)

    {

    j-=i;

    int m=l;

    a2: while (m<j)

    {

    if (i<=m)

    continue a1;

    j/=m++;

    }

    }

    System.out.println(j);

    }

    }

    下列嵌套的循环程序执行后,结果是______。 public class ax25 { public static void main(String[] args) { int sum=0; for(int i=0;i<=5;i++) { for(int j=10;j>3*i;j--) { sum+=j*i; } } System.out.println(sum); } }

    A.136

    B.127

    C.147

    D.153


    正确答案:C

  • 第9题:

    class Super {  public int i = 0;  public Super(String text) {  i = 1; }  }  public class Sub extends Super {  public Sub(String text) {  i = 2;  }   public static void main(String args[]) {  Sub sub = new Sub(“Hello”);  System.out.println(sub.i);  }  }  What is the result?()  

    • A、 0
    • B、 1
    • C、 2
    • D、 Compilation fails.

    正确答案:C

  • 第10题:

    下列最终属性i的定义中,正确的是()。

    • A、static final int i=100;
    • B、final int i=1.2;
    • C、final i=’w’;
    • D、final char i;

    正确答案:A

  • 第11题:

     public class Foo {   public static void main (String []args) {   int i = 1;   int j = i++;   if ((i>++j) && (i++ ==j))  {           i +=j;          }        }      }   What is the final value of i?()  

    • A、 1
    • B、 2
    • C、 3
    • D、 4
    • E、 5

    正确答案:B

  • 第12题:

    判断题
    public static final int i=10定义一个整数类型的公共常量。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    下面程序创建了一个线程并运行,请填空,使程序完整。

    public class ThreadTest {

    public static void main (String[] args) {

    Hello h=Hew Hello ();

    【 】

    t.start ();

    }

    }

    class Hello implements Runnable {

    int i;

    public void run () {

    while(true) {

    System.out.println("Hello" +i++);

    if(i==5) break;

    }

    }

    }


    正确答案:Threadt=new Thread(h);
    Threadt=new Thread(h); 解析:在通过实现Runnable接口来创建线程以后,该线程的启动将使得对象的run ()方法被调用。题目中缺少线程创建的语句,因此应该填写Thread t=new Thread(h);,该语句创建 Hello类的实例对象h的线程。

  • 第14题:

    下列程序段运行的结果为 public class Test{ static void print(String s,int i){ System.out.println("String:"+s+",int:"+i); } static void print(int i,String s){ System.out.println("int:"+i+",String:"+s); } public static void main(String[]args){ print(99,"Int first"); } }

    A.String:String first,int:11

    B.int:11,String:Int first

    C.String:String first,int99

    D.int:99,String:Int first


    正确答案:D
    解析:本题考查考生阅读程序的能力。JavaApplication都是以main()方法作为入口,首先执行的是print(99,"Int first"),根据构造方法的参数类型选择调用方法,这里调用的是print(int i,String s)方法,因此输出的是int:99,String:Int first。

  • 第15题:

    下面程序段的输出结果是 class Base { int i; Base() { add(1); } void add(int v) { i+=v; } void print() { System.out.println(i); } } class Extension extends Base { Extension() { add(2); } void add(int v) { i+=v*2; } } public class Test { public static void main(String args[]) { bogo(new Extension()); } static void bogo(Baseb){ b.add(8); b.print(); } }

    A.9

    B.18

    C.20

    D.22


    正确答案:D
    解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main()函数进入程序,所有调用add()方法的过程将始终和Extension类的add()方法动态绑定。初始值:i=0;创建实例new Extension();先调用父类的默认构造函数Base(),并在父类的默认构造函数中执行add(1),i=0+1×2,所以i=2,再调用子类的默认构造函数Extension(),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;执行add(8);i=6+8×2,因此,最终i=22,正确答案为选项D。

  • 第16题:

    若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第17题:

    public class Something {

    public int addOne(final int x) {

    return ++x;

    }

    }

    这个比较明显。


    正确答案:

     

    错。int x 被修饰成final,意味着x 不能在addOne method 中被修改。

  • 第18题:

    class Something {

    int i;

    public void doSomething() {

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

    }

    }

    有什么错呢? 看不出来啊。


    正确答案:

     

    正确。输出的是"i = 0"。int i 属於instant variable (实例变量,或叫成员变量)。instant

    variable 有default value。int 的default value 是0。

  • 第19题:

    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 ...";

    }

    }

    看上去很完美。


    正确答案:

     

    错。看上去在main 里call doSomething 没有什么问题,毕竟两个methods 都在同一个

    class 里。但仔细看,main 是static 的。static method 不能直接call non-static methods。可改

    成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method 不

    能访问non-static instant variable。

  • 第20题:

    public static final int i=10定义一个整数类型的公共常量。


    正确答案:正确

  • 第21题:

    现有:  public  class  TestDemo{     private int X-2;      static int y=3;  public  void method(){      final int i=100;      int j  =10;     class Cinner {  public void mymethod(){      //Here     }     }     }     } 在Here处可以访问的变量是哪些?() 

    • A、X
    • B、y
    • C、j
    • D、i

    正确答案:A,B,D

  • 第22题:

    public class TestDemo{   private int x = 2;  static int y = 3;  public void method(){     final int i=100;     int j = 10;      class Cinner{  public void mymethod(){  //Here       }    } } }  在Here处可以访问的变量是哪些?() 

    • A、x
    • B、 y
    • C、 i
    • D、 j

    正确答案:A,B,C

  • 第23题:

    多选题
    现有:  public  class  TestDemo{     private int X-2;      static int y=3;  public  void method(){      final int i=100;      int j  =10;     class Cinner {  public void mymethod(){      //Here     }     }     }     } 在Here处可以访问的变量是哪些?()
    A

    X

    B

    y

    C

    j

    D

    i


    正确答案: B,A
    解析: 暂无解析

  • 第24题:

    单选题
    public class Foo {   public static void main (String []args) {   int i = 1;   int j = i++;   if ((i>++j) && (i++ ==j))  {           i +=j;          }        }      }   What is the final value of i?()
    A

     1

    B

     2

    C

     3

    D

     4

    E

     5


    正确答案: E
    解析: 暂无解析