niusouti.com

对于下列代码,下列哪个叙述是正确的()? class A{ public int i=0; A(int m){ i=1; } } public class B extends A{ B(int m){ i=2; } public static void main(String args[]){ B b=new B(100); System.out.println(b.i); //【代码】 } }A.程序提示编译错误(原因是A类没有不带参数的构造方法)B.编译无错误,【代码】输出结果是0C.编译无错误,【代

题目

对于下列代码,下列哪个叙述是正确的()? class A{ public int i=0; A(int m){ i=1; } } public class B extends A{ B(int m){ i=2; } public static void main(String args[]){ B b=new B(100); System.out.println(b.i); //【代码】 } }

A.程序提示编译错误(原因是A类没有不带参数的构造方法)

B.编译无错误,【代码】输出结果是0

C.编译无错误,【代码】输出结果是1

D.编译无错误,【代码】输出结果是2


相似考题
更多“对于下列代码,下列哪个叙述是正确的()? class A{ public int i=0; A(int m){ i=1; } } public class B extends A{ B(int m){ i=2; } public static void main(String args[]){ B b=new B(100); System.out.println(b.i); //【代码】 } }”相关问题
  • 第1题:

    能将程序补充完整的选项是______。 class Person{ private int a; phblic int change(int m){return m;} } public class Teacher extends Person{ public int b; public static void main(String arg[ ]){ Person p=new Person( ); Teacher t=new Teacher( ); int i; ______; } }

    A.i=m

    B.i=b

    C.i=p.a

    D.i=p.change(50)


    正确答案:D
    解析: 选项B中虽然b是类Teacher的public成员变量,但在静态方法中,不能使用类中的非静态成员;选项C中的a是Person类的private成员,不能在类外直接引用;选项D中的change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。

  • 第2题:

    下列代码的执行结果是public class Test{ public int aMethod(){ static int i=0; i++; System.out.println(i); } public static void main(String args[]){ Test test= new Test(); test. aMethod(); }}

    A.编译错误

    B.0

    C.1

    D.运行成功,但不输出


    正确答案:A
    解析:static不能修饰局部变量。

  • 第3题:

    下面程序段的输出结果是 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。

  • 第4题:

    能将程序补充完整的选项是 class Person { private int a; public int change(int m){return m; } } public class Teacher extends Person { public int b; public static void main(String arg[]) { Person p=new Person(); Teacher t=new Teacher(); int i; ______ } }

    A.i=m

    B.i=b

    C.i=p.a

    D.i=p.change(50)


    正确答案:D
    解析:本题考查类的声明。选项A中m没有被声明过,不能使用;选项B中虽然b是类Teacher的public成员变量,但在静态方法中,不能使用类中的非静态成员;选项C中a是类Person的private成员,在类外不能直接引用;选项D中change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。

  • 第5题:

    interface A{

    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();

    }

    }


    正确答案:

     

    错误。在编译时会发生错误(错误描述不同的JVM 有不同的信息,意思就是未明确的

    x 调用,两个x 都匹配(就象在同时import java.util 和java.sql 两个包时直接声明Date 一样)。

    对于父类的变量,可以用super.x 来明确,而接口的属性默认隐含为 public static final.所以可

    以通过A.x 来明确。

  • 第6题:

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

    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

  • 第7题:

    下面程序段的输出结果是 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+=*2; } } public class Test { public static void main(String args[]) { bogo(new Extension()); } static void bogo(Base b) { b.add(8); b.print(); } }

    A.9

    B.18

    C.20

    D.22


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

  • 第8题:

    下列代码的执行结果是( )。

    public class Test{

    public int aMethod( ){

    static int i=0;

    i++;

    System.out.println(i):

    }

    public static void main (String args[]){

    Trest test=new Test ( );

    test aMethod( ):

    }

    }

    A.编译错误

    B.0

    C.1

    D.运行成功,但不输出

    B.

    C.

    D.


    正确答案:A

  • 第9题:

    设有如下代码:

    class Base{}

    public class MyCast extends Base{

    static boolean b1=false;

    static int i = -1;

    static double d = 10.1;

    public static void main(String argv[]){

    MyCast m = new MyCast();

    Base b = new Base();

    //Here

    }

    }

    则在 //Here处插入哪个代码将不出现编译和运行错误。

    A.b=m;

    B.m=b;

    C.d =i;

    D.b1 =i;


    正确答案:AC

  • 第10题:

    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

  • 第11题:

    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);  }  }  What is the result?()  

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

    正确答案:D

  • 第12题:

    单选题
    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);  }  }  What is the result?()
    A

     0

    B

     1

    C

     2

    D

     Compilation fails.


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

  • 第13题:

    阅读以下说明和Java代码,回答问题1和问题2,将解答填写在对应栏内。

    【Java代码】

    class usethread implements (1) {

    int num

    usethread(int n){

    num=n;

    }

    public void (2) {

    for(int i=0;i<3;i++)

    System.out.println("running:"+num);

    System.out.println("finished:"+num);

    }

    public class multhread{

    public static void main(String args[]) (3) InterruptedException{

    Thread m1=new Thread(new usethread(1));

    Thread m2=new Thread(new usethread(2));

    m1.start();

    m2.start();

    m1.join();

    m2.join();

    }

    }

    【问题1】

    补充完整上面Java代码中(n)处。

    【问题2】

    写出上面Java代码运行的结果。


    正确答案:(1)Runnable (2)run() (3)throws 程序输出结果: running:1 running:2 running:1 running:2 running:1 running:2 finished:1 finished:2
    (1)Runnable (2)run() (3)throws 程序输出结果: running:1 running:2 running:1 running:2 running:1 running:2 finished:1 finished:2 解析:本题考查Java中线程的相关知识。
    题目要求按照程序给出的内容来完成填空和输出程序的运行结果。本题的关键是考查我们对线程的了解程度。线程的创建方法有两种,即通过类Thread和接口Runnable创建的方法。刚刚创建的线程还不能与其他的线程并发运行,当调用了方法start后,线程进入就绪态,在被Java虚拟机调度后才进入运行态。进入运行态的线程自动执行成员方法run(),在执行完这个成员方法后线程就又自动进入死亡态。下面来具体分析程序。
    第(1)空在定义类usethread语句中,从后面的关键字implements可以推断出类继承了一个接口,而在Java中,接口一般只有成员变量和成员方法的定义而没有成员方法的具体实现。根据后面的程序new Thread(new usethread(1))可以知道创建了线程对象,而这种创建线程对象的方法是通过接口Runnable来实现的,因此类usethread肯定是继承了接口Runnable,所以此空答案为Runnable。
    第(2)空是一个函数体的函数名,而函数体的作用是循环进行输出,从上面对线程的分析可以知道,此函数一定是run()函数,因此此空答案为run()。
    第(3)空是入口函数后面的语句,结合Java程序的特点,再从此空后面的内容不难推断出,此处是要显式生成异常来处理程序中的异常。而在Java中,一般用关键字throws来显式生成异常,因此此空答案为throws。
    对于问题2,我们可以根据程序来分析,程序中创建了两个线程,根据上面的分析我们可以知道,这两个线程都自动调用了函数run(),因此程序输出结果为:
    running:1
    running:2
    running:1
    running:2
    running:1
    running:2
    finished:1
    finished:2

  • 第14题:

    在下列程序的划线处应填入的语句是class Person { private int a;}public class Man extends Person{ public int b; public static void main (String arg []){ Person p=new Person(); Man t=new Man(); int i: }}

    A.i=w;

    B.i=b

    C.i=p.a;

    D.i=t.b;


    正确答案:D
    解析:选项A)w没有被声明过,不能使用。选项B)虽然b是类Man的public成员变量,但是在静态方法中不能使用类中的非静态成员。选项C)a是类Person的private成员,在类外不能直接引用。选项D)b是类Man的public成员变量,且是int 型,可以通过类的实例变量t用并赋值给一个int型变量。

  • 第15题:

    在下列程序的划线处应填入的语句是 class Pemon { pnvate int a; } public class Man extends Person { public int b; public static void main(String arg[ ] ) { Person p = new Person( ); Man t = new Man( ); int i; ________ } }

    A.i = w;

    B.i = b;

    C.i = p.a;

    D.i = t.b;


    正确答案:D
    解析:选项A)w没有被声明过,不能使用。选项B)虽然b是类Man的public成员变量,但是在静态方法中不能使用类中的非静态成员。选项C)a是类Person的private成员,在类外不能直接引用。选项D)b是类Man的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。

  • 第16题:

    下面代码的运行结果是 public class Test{ public static void main(String args[]){ for(int i=0; i<3;i++){ if(i<2) continue; System.out.println(i); } } }

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    解析:本题考查简单的Java控制语句。题目非常简单,但还是应该细心。这里应注意continue语句。continue语句是跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。当然,在下一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。题目所给程序中,当i=0和i=1时,都会执行continue语句,而不会执行System.out.println(i)语句,只有当i=2时才执行System.out.println(i)语句,输出为2,选项C正确。

  • 第17题:

    下列程序执行后,j的值是( )。 public class Testggg{ public static void main(String args[]) { int j=1; for(int i=7;i>0;i-=2) j*=2; System.out.println(j); } }

    A.15

    B.1

    C.32

    D.16


    正确答案:D

  • 第18题:

    下面程序段的输出结果是( )。 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(Base b) { add(8); print; } }

    A.9

    B.18

    C.20

    D.22


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

  • 第19题:

    下列程序输出结果为( )。 public class test { public static void main (String args[]) { int a=0; outer:for(int i=0;i<2;i + +) { for(int j=0;j<2;j+ +) { if(j>i) { continue outer; } a+ +; } } System.out.println(a); } }

    A.0

    B.2

    C.3

    D.4


    正确答案:C

  • 第20题:

    在下列程序的划线处应填入的语句是( )。 class Person { private int a: } public class Man extends Person{ public int b; public static void main(String arg []){ Person p=newPerson(); Man t=new Man(); int i; _________________ } }

    A.i=w;

    B.i=b;

    C.i=P.a;

    D.i=t.b;


    正确答案:D

  • 第21题:

    Which are syntactically valid statement at// point x?()     class Person {     private int a;  public int change(int m){  return m;  }     }  public class Teacher extends Person {     public int b;  public static void main(String arg[]){     Person p = new Person();     Teacher t = new Teacher();    int i;  // point x     }    } 

    • A、 i = m;
    • B、 i = b;
    • C、 i = p.a;
    • D、 i = p.change(30);
    • E、 i = t.b.

    正确答案:D,E

  • 第22题:

    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()

    • A、 line 2
    • B、 line 3
    • C、 line 6
    • D、 line 7

    正确答案:D

  • 第23题:

    单选题
    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.


    正确答案: B
    解析: This code is perfectly legal and the answer is C. 

  • 第24题:

    单选题
    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()
    A

     line 2

    B

     line 3

    C

     line 6

    D

     line 7


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