单选题以下的程序的执行结果为? () public class Demo{  public double getHeight(){  return 171.0;  }  public int getHeight (){  return 171;  }  public static void main(String[] args){  Demo demo = new Demo();  System.out.println(demo.getHeight());  }  }A 输出171.0B 输出171C 第

题目
单选题
以下的程序的执行结果为? () public class Demo{  public double getHeight(){  return 171.0;  }  public int getHeight (){  return 171;  }  public static void main(String[] args){  Demo demo = new Demo();  System.out.println(demo.getHeight());  }  }
A

输出171.0

B

输出171

C

第2行和第5行编译报错

D

第10行编译报错


相似考题
参考答案和解析
正确答案: C
解析: 暂无解析
更多“单选题以下的程序的执行结果为? () public class Demo{  public double getHeight(){  return 171.0;  }  public int getHeight (){  return 171;  }  public static void main(String[] args){  Demo demo = new Demo();  System.out.println(demo.getHeight());  }  }A 输出171.0B 输出171C 第”相关问题
  • 第1题:

    下列程序的功能是为变量赋值,程序运行后,输出i=51。请改动main方法中的错误,使程序能够正确编译、运行并输出正确的结果。

    注意:不改动程序结构。

    class A

    {

    private int a;

    public void setA (int x)

    {

    a=x;

    }

    public int getA()

    {

    return a;

    }

    }

    public class MethodTest

    {

    public static void main(String args[])

    {

    A a=A();

    a.getA(51);

    int i=a.getA();

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

    }

    }


    正确答案:改正后的main方法如下: public static void main(String args[]) { A a=new A(); a.getA(51); int i=a.getA(); System.out.println("i="+i); }
    改正后的main方法如下: public static void main(String args[]) { A a=new A(); a.getA(51); int i=a.getA(); System.out.println("i="+i); } 解析:本题综合考查类及类成员的定义与使用方面的知识。该程序中定义了两个类:A和MethodTest,类A中封装了一个私有的成员变量a和两个公有的方法setA和getA。在类MethodTest中包含了main方法。创建对象应使用new操作符来实例化对象,程序在创建对象a时未使用new,故存在错误。由于a是对象a的私有变量,在main方法中不能直接访问,只能通过对象a的公有方法setA和getA来访问。公有方法setA的功能是将传递回来的参数值赋给a,所以应当调用setA方法来为变量a赋值。

  • 第2题:

    有以下程序:includeincludeusingnameSpacestd;classperson{ intage; Char*nam

    有以下程序:

    include <iostream>

    include <string>

    using nameSpace std;

    class person

    {

    int age;

    Char * name;

    public:

    person ( int i, Char * str )

    {

    int j;

    j = strlen( str ) + 1;

    name = new char[ j ];

    strcpy( name, str );

    age = i;

    }

    ~person()

    {

    delete name;

    cout<<"D";

    }

    void display()

    {

    cout<<name<<":"<<age;

    }

    };

    int main()

    {

    person demo( 30,"Smith" );

    demo.display();

    return 0;

    }

    则该程序的输出结果为:【 】。


    正确答案:Smith:30 D
    Smith:30 D 解析:本题考核类与对象的操作。主函数中定义类person的对象 demo,并赋初值(30,"smith")。然后调用成员函数display()输出赋值结果,即Smitch:30。程序结束时demo对象的析构函数被调用,再输出“D”。

  • 第3题:

    有如下程序: include using namespace std; class Demo { public:

    有如下程序: #include<iostream.h> using namespace std; class Demo { public: Demo(){ cout<<"default constructor\n";} Demo(const Demo &X){ cont<<"copy constructor\n";} }; Demo userCode (Demo b){Demo c(b);return c;} int main() { Demo a,d; cout<<"calling userCode()\n"; d=userCode(a); return 0; } 执行上面程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是( )。

    A.1和1

    B.1和2

    C.2和3

    D.2和4


    正确答案:C
    解析:此题考查的是虚函数的应用。C++语言中,在创建一个对象时,会自动调用类的构造函数,所以语句“Demo a,d;”将调用函数Demo()两次。当一个对象作为实参传递给函数时,为初始化形参,要调用复制构造函数:在函数返回一个对象时调用复制构造函数。所以语句“d=userCode(a);”调用复制构造函数3次。

  • 第4题:

    有如下程序:includeusing namespace std;classDemo{public: Demo(){cont<<"default

    有如下程序: #include<iostream.h> using namespace std; class Demo { public: Demo(){ cont<<"default constructor\n";} Demo(const Demo &x){ cont<<"copy constructor\n";} }; Demo userCode(Demo b){Demo c(b);return c;} int main() { Demo a,d; cout<<"calling userCode()\n"; d=userCode(a); return 0; } 执行上面程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是

    A.1和1

    B.1和2

    C.2和3

    D.2和4


    正确答案:C
    解析:本题考核构造函数的应用,有一定的深度。函数Demo()为构造函数,而Demo(constDemo&x)为复制构造函数。C++在创建一个对象时,会自动调用类的构造函数,所以语句“Demoa,d;”将调用函数Demo()2次。当一个对象作为实参传递给函数时为初始化形参,要调用拷贝构造函数;在函数返回一个对象时调用拷贝构造函数。由此可知语句“d=userCode(a);”调用复制构造函数3次。

  • 第5题:

    设有如下程序: include using namespace std; class A { public:int i;display(){co

    设有如下程序: #include <iostream> using namespace std; class A { public: int i; display() { cout<<"class A\n"; } }; class B { public: int i; display() { cout<<"class B\n"; } }; class C : public A, public B { int j; public: int i; show ( ) { j = i * i; display(); } }; int main() { C demo; demo.show(); return O; } 则主程序运行时将( )。

    A.因为变量i的重复定义而报错

    B.因为对象demo间接调用display()函数时产生二义性而报错

    C.因为类定义的语法错误而不能运行

    D.没有语法错误,能够正常输出结果


    正确答案:B
    解析:本题主要考察C++中多继承的工作方式和二义性的解决办法。在C++中,允许一个派生类从多个基类派生,这种继承方式称为多继承。多继承的定义格式如下:class派生类名>:继承方式>基类名1>,继承方式2>基类名2>,…{派生类类体>};但是,如果一个派生类的两个或多个基类中有某个同名成员,在派生类中对这个成员的访问就可能出现二义性;同时,如果一个派生类是由两个或多个基类派生出来的,而这几个基类又有一个共同的基类,对该基类进行访问时,也可能会出现二义性。本题程序中,类C是由类A和类B多继承得到的派生类,但其自身函数show()中调用了display()函数,而这个函数是同时出现在类C的两个基类中的,因此程序会出现二义性,编译器将无法确定调用哪一个display()函数来执行操作,因此报错。解决二义性的通常办法是通过作用域运算符“::”进行限定。

  • 第6题:

    下列程序的输出结果是 class Demo { void test( ) { Systeme.out.pnnt("NO");} void test(int i) { System.out.print(a);} void test(int a,int b) { System.out.print(a+b);} } class Test { public static void main(String args[ ] ) { Demo de=new Demo( ); de.test( ); de.test(5); de.test(6,8); } }

    A.No 5 6 8

    B.5 6 8 No

    C.No 5 14

    D.8 6 No 5


    正确答案:C
    解析:本题考查的是方法重载的概念及应用,本题中应顺调查用test(),test(5)和test(6,8)方法,所以答案为选项C)。

  • 第7题:

    下列程序的输出结果是 ( ) class Derao { void test() { Systeme.out.print("NO");} void test (int i) {System.out.print(a);} void test(int a,int b) {System.out.print(a+b);} } class Test { public static void main(String args[]) { Demo de=new Demo(); de.test(); de.test5.; de.test(6,8); } }

    A.No568

    B.568No

    C.No514

    D.86No5


    正确答案:C

  • 第8题:

    以下的程序的执行结果为? () public class Demo{  public double getHeight(){  return 171.0;  }  public int getHeight (){  return 171;  }  public static void main(String[] args){  Demo demo = new Demo();  System.out.println(demo.getHeight());  }  } 

    • A、输出171.0
    • B、输出171
    • C、第2行和第5行编译报错
    • D、第10行编译报错

    正确答案:C

  • 第9题:

    Given a class Repetition: 1.package utils; 2. 3.public class Repetition{ 4.public static String twice(Strings){returns+s;} 5.} and given another class Demo: 1.//insert code here2. 3.public class Demo{ 4.public static void main(String[]args){ 5.System.out.println(twice("pizza")); 6.} 7.} Which code should be inserted at line 1 of Demo.java to compile and run Demo to print“pizzapizza”?()

    • A、import utils.*;
    • B、static import utils.*;
    • C、importutils.Repetition.*;
    • D、static importutils.Repetition.*;
    • E、import utils.Repetition.twice();
    • F、import static utils.Repetition.twice;
    • G、static import utils.Repetition.twice;

    正确答案:F

  • 第10题:

    定义类:      package utils;      public class Rep{  public static String twice (String s){return s+s ;}     }  再定义另一个类Demo:      //insert code here      public class Demo{  public static void main (String[]  args){      System. out .println( twice( "Hello"));      }      }  在第一行插入哪项代码,可以使程序正常编译和执行?()     

    • A、import utils.*;
    • B、 import utils.Rep.*;
    • C、 import static utils.Rep.twice;
    • D、 static import utils.Rep.twice;

    正确答案:C

  • 第11题:

    单选题
    定义类:      package utils;      public class Rep{  public static String twice (String s){return s+s ;}     }  再定义另一个类Demo:      //insert code here      public class Demo{  public static void main (String[]  args){      System. out .println( twice( "Hello"));      }      }  在第一行插入哪项代码,可以使程序正常编译和执行?()
    A

    import utils.*;

    B

     import utils.Rep.*;

    C

     import static utils.Rep.twice;

    D

     static import utils.Rep.twice;


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

  • 第12题:

    单选题
    Given a class Repetition: 1.package utils; 2. 3.public class Repetition{ 4.public static String twice(Strings){returns+s;} 5.} and given another class Demo: 1.//insert code here2. 3.public class Demo{ 4.public static void main(String[]args){ 5.System.out.println(twice("pizza")); 6.} 7.} Which code should be inserted at line 1 of Demo.java to compile and run Demo to print“pizzapizza”?()
    A

    import utils.*;

    B

    static import utils.*;

    C

    importutils.Repetition.*;

    D

    static importutils.Repetition.*;

    E

    import utils.Repetition.twice();

    F

    import static utils.Repetition.twice;

    G

    static import utils.Repetition.twice;


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

  • 第13题:

    下面程序的输出结果是什么? class C1{ static int j=0; public void method(int a){ j++; } } class Test extends C1{ public int method(){ return j++; } public void result(){ method(j); System.out.println(j+method()); } public static void main(String args[]){ new Te

    A.0

    B.1

    C.2

    D.3


    正确答案:C

  • 第14题:

    有如下程序:includeusing namespaee std;class Demo{public:Demo( ){cout<<"default

    有如下程序: #include<iostream> using namespaee std; class Demo{ public: Demo( ){cout<<"default constructor\n";} Demo(const Demo &x){cout<<"copy constructor\n";} }; Derno userCore(DemoB) {Demo c(B) ;return c;} int main( ){ Demo a,d; cout<<"calling userCode( )\n"; d=userCode(A) ; return 0; } 执行上面程序的过程中,构造函数Demo( )和Demo(const Demo &x)被调用的次数分别为

    A.1和1

    B.1和2

    C.2和3

    D.2和4


    正确答案:C
    解析:无参构造函数调用和复制构造函数调用的Demo a,d;调用2次无参构造函数Demo( ),在Demo userCore(Demo B) {Demo c(B) ;return c;}函数中,Demo b调用一次复制构造函数,Demo c(B) 调用一次复制构造函数,在函数返回值时还要调用一次复制构造函数,故Demo(const Demo &x)的调用次数为3次。

  • 第15题:

    有如下程序:include using namespace std;class Demopublic:{ Demo () { cout << "de

    有如下程序: #include <iostream> using namespace std; class Demo public: { Demo () { cout << "default constructor\n"; } Demo (const Demo &x){ cout << "copy constructor\"; } }; Demo userCode(Demo b){ Demo c(b);return c; } int main() { Demo a,d; cout<<"calling userCode()\n"; d=aserCode(a); return 0; }执行上面程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是 ______ 。

    A.1和1

    B.1和2

    C.2和3

    D.2和4


    正确答案:C
    解析:类拷贝的相关内容。

  • 第16题:

    有下列程序: include using namespace std; class Demo { public: Demo(){cout<<"d

    有下列程序: #include<iostream.h> using namespace std; class Demo { public: Demo(){ cout<<"default constmctor\n";} Demo(const Demo &x){ cont<<"copy constructor\n";} }; Demo userCode(Demo b){Demo c(b);return c;} int

    A.1和1

    B.1和2

    C.2和3

    D.2和4


    正确答案:C
    解析: 此题考查的是虚函数的应用。C++语言中,在创建一个对象时,会自动调用类的构造函数,所以语句“Demoa,d;”将调用函数Demo()两次。当一个对象作为实参传递给函数时,为初始化形参,要调用复制构造函数;在函数返回一个对象时调用复制构造函数。所以语句“d=userCode(a);”调用复制构造函数3次。

  • 第17题:

    有以下程序:include using namespace std;class A{public: virtual void show() {cout

    有以下程序:

    include <iostream>

    using namespace std;

    class A

    {

    public:

    virtual void show()

    {

    cout<<"A";

    }

    };

    class B : public A

    {

    public:

    void show()

    {

    cout << "B";

    }

    };

    void display( A * obj )

    {

    obj-> show();

    }

    int main ( )

    {

    A demol;

    B demo2;

    display( & demol );

    display( & demo2 );

    return 0;

    }

    执行后的输出结果为【 】。


    正确答案:AB
    AB 解析:本题考核赋值兼容原则以及派生与继承的应用。题中函数display()形参类型为类A,执行语句“display(&demo1);”则输出A。执行语句“display(&dem02);”时,由于show()函数为虚函数,所以调用类B中show()函数,输出B。所以最后结果为AB。

  • 第18题:

    类A及其派生类B定义如下:class A{ public int getInfo(int a) { return a; }}public class B extends A{ public float getInfo(int b) { return b; } public static void main(String[]args) { A a=new A(); B b=new B(); System.out.println(a.getInfo(3)+","+b.getInfo(5)); }}关于上述程序代码的叙述中正确的是 ( )

    A.第10行不能通过编译

    B.程序通过编译,输出结果为:3,3

    C.程序通过编译,输出结果为3,5

    D.程序通过编译,输出结果为:5,5


    正确答案:A
    解析:本题中,第10不能通过编译,因为getInfo定义的是float型,而里面的参数却是int型,再者,如果定义为float型也不能覆盖classA的方法。所以不正确,应该该为int型。

  • 第19题:

    以下程序调试结果为:

    public class Test {

    int m=5;

    public void some(int x) {

    m=x;

    }

    public static void main(String args []) {

    new Demo().some(7);

    }

    }

    class Demo extends Test {

    int m=8;

    public void some(int x) {

    super.some(x);

    System.out.println(m);

    }

    }

    A.5

    B.8

    C.7

    D.无任何输出

    E.编译错误


    正确答案:B

  • 第20题:

    执行以下代码后,下面哪些描述是正确的() public  class  Student{  private String name = “Jema”;  public void setName(String name){  this.name = name;  }  public String getName(){  return this.name;  }  public static void main(String[] args){  Student s;  System.out.println(s.getName()); } }

    • A、输出null
    • B、第10行编译报错
    • C、第11行编译报错
    • D、输出Jema

    正确答案:C

  • 第21题:

    Given a class Repetition:  1. package utils;  2.  3. public class Repetition {  4. public static String twice(String s) { return s + s; }  5. }  and given another class Demo:  1. // insert code here 2.  3. public class Demo {  4. public static void main(String[] args) {  5. System.out.println(twice(”pizza”));  6. }  7. }  Which code should be inserted at line 1 of Demo.java to compile and run Demo to print“pizzapizza”?() 

    • A、 import utils.*;
    • B、 static import utils.*;
    • C、 import utils.Repetition.*;
    • D、 static import utils.Repetition. *;
    • E、 import utils.Repetition.twice();
    • F、 import static utils.Repetition.twice;
    • G、 static import utils.Repetition.twice;

    正确答案:F

  • 第22题:

    单选题
    public class Demo{  public static void main(String[] args){   List al = new ArrayList();  al.add(“1”);         al.add(“2”);  al.add(“2”);         al.add(“3”);  System.out.println(al);    } }  上述程序执行后的输出是哪项?()
    A

     [1,2,3]

    B

     [1,2,2,3]

    C

     [1,2,3,3]

    D

     [2,1,3,2]


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

  • 第23题:

    单选题
    Given a class Repetition:  1. package utils;  2.  3. public class Repetition {  4. public static String twice(String s) { return s + s; }  5. }  and given another class Demo:  1. // insert code here 2.  3. public class Demo {  4. public static void main(String[] args) {  5. System.out.println(twice(”pizza”));  6. }  7. }  Which code should be inserted at line 1 of Demo.java to compile and run Demo to print“pizzapizza”?()
    A

     import utils.*;

    B

     static import utils.*;

    C

     import utils.Repetition.*;

    D

     static import utils.Repetition. *;

    E

     import utils.Repetition.twice();

    F

     import static utils.Repetition.twice;

    G

     static import utils.Repetition.twice;


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