单选题在Java中,类Animal中的方法printA()定义如下:    Public void printA()    (    int  a= 10;     int result =10%3;     System.out.println(result);      )  在类Dog中方法printA()定义如下:  Public void printA() {   int a=10;   System.out.println(a/3);  }  Dog类的定义如下:  Class Dog ext

题目
单选题
在Java中,类Animal中的方法printA()定义如下:    Public void printA()    (    int  a= 10;     int result =10%3;     System.out.println(result);      )  在类Dog中方法printA()定义如下:  Public void printA() {   int a=10;   System.out.println(a/3);  }  Dog类的定义如下:  Class Dog extends Animal{…..}  Animal  animal = new Dog();  animal.printA();  以上语句输出为()。
A

0

B

1

C

2

D

3

E

3.333


相似考题
更多“单选题在Java中,类Animal中的方法printA()定义如下:    Public void printA()    (    int  a= 10;     int result =10%3;     System.out.println(result);      )  在类Dog中方法printA()定义如下:  Public void printA() {   int a=10;   System.out.println(a/3);  }  Dog类的定义如下:  Class Dog ext”相关问题
  • 第1题:

    若类A和类B的定义如下:includeclass A{int i,j;public:int geti(){return i;}};class

    若类A和类B的定义如下: #include<malloc.h> 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(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

  • 第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题:

    有如下程序: public class MethLoad { public static void main(String args[]) { MethLoad classObj = new MethLoad(); classObj.methtest(4); classObj.methtest(4.0); } void methtest(double D) { double sum = 2*d; System.out.println("The result is:"+sum); } void methtest(int n) { int sum = 4*n; System.out.println("The result is:"+sum); } } 程序的运行结果为( )。

    A.The result is:16 The result is:8.0

    B.The result is:8.0 The resuR is:16

    C.The result is:8 The result is:16.0

    D.The resuR is:16.0 The result is:8


    正确答案:A
    解析:本题考查对方法重载的掌握程度。在上面的程序中,类MethLoad中定义了两个具有相同名称methtest的方法,但这两个方法的参数不相同,编译器会根据参数的个数和参数类型宋决定应该调用哪个方法。在类MethLoad中先声明了一个classObj对象,接着调用classObj的methest方法,只不过是两次调用中参数的类型不同,第1次调用的参数是血类型的4,第2次调用的参数是double类型的4.0,因此要调用相对应的方法。int类型的方法返回参数值的4倍,而double类型的方法返回参数值的2倍。

  • 第4题:

    如下的类定义,括号里应填( )。 class Myclass { public: MyClass(int a =0,int b =0) { X=a; Y=b; void Change ( ) const { X- =10; Y+ =10; public: ( )int X,Y;

    A.static

    B.const

    C.mutable

    D.可以不添内容


    正确答案:C
    解析:常成员函数一般不能修改对象的数据成员的值,如果一定要修改,必须得在被修改的数据成员定义前加上关键字mutable。

  • 第5题:

    若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class

    若类A和类B的定义如下: #include<malloc.h> 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(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

  • 第6题:

    若类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的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第7题:

    有如下类定义和变量定义:

    class A{

    public:

    A(){data=O; }

    一A(){}

    int GetData()const{ retum data; }

    void SetData(int n) {data=n; }

    private:

    int data;

    };

    const A a;

    A b;

    下列函数调用中错误的是

    A.a.GetData();

    B.a.SetData(10);

    C.b.GetData();

    D.b.SetData(10);


    正确答案:B
    解析:常量是指在程序执行过程中值不改变的量。因为a是常量类型,而a的SetData成员函数会造成a的值被改变,所以B)项调用错误

  • 第8题:

    若类A和类B的定义如下: class A { public: int i,j; void get(); }; class B:A{ int i, j; protected; int k; public: void make(); }; void B: :make()(k=i*j;} 则其中 ______ 是非法的表达式。

    A.void get();

    B.int k;

    C.void make();

    D.k=i*j;


    正确答案:D

  • 第9题:

    有如下类的定义,横线处的语句是( )。 class TestClass { ______ int x,y; public: TestClass(int a=0,int b=0) { X=a: y=b; } static void change() { y-=10; y-=10; } };

    A.public

    B. private

    C.static

    D.protected


    正确答案:C

  • 第10题:

    有如下程序: public class MethLoad { public static void main(String args[]) { MethLoad classObj=new MethLoad(); classObj.methtest(4); classObj.methtest(0); } void methtest(double d) { double sum=2*d; System.out.println("The result is:"+sum); } void methtest(int n) { int sum=4*n; System.out.println("The result is:" +sum); } }程序的运行结果为( )。

    A.The result is:16 The result is:0

    B.The result is:0 The result is:16

    C.The result is:8 The result is:0

    D.The result is:0 The result is:8


    正确答案:A
    解析:本题考查对方法重载的掌握程度。在上面的程序中,类MethLoad中定义了两个具有相同名称methtest的方法,但这两个方法的参数不相同,编译器会根据参数的个数和参数类型来决定应该调用哪个方法。在类MethLoad中先声明了一个classObi对象,接着调用classObj的methest方法,只不过是两次调用中参数的类型不同,第1次调用的参数是int类型的4,第2次调用的参数是 double类型的0,因此要调用相对应的方法。int类型的方法返回参数值的4倍,而 double类型的方法返回参数值的2倍。

  • 第11题:

    在Java中, 类Animal中的方法printA()定义如下: publicvoidprintA(){ inta=10; intresult=10%3; System.out.println(result);} 在类Dog中方法printA()定义如下: publicvoidprintA(){ inta=10; System.out.println(a/3);} Dog类的定义如下: classDogextendsAnimal{…}.Animalanimal=newDog();animal.printA(); 以上语句输出为()。

    • A、0
    • B、1
    • C、2
    • D、3
    • E、3.3333

    正确答案:D

  • 第12题:

    单选题
    在Java中,类Animal中的方法printA()定义如下:    Public void printA()    (    int  a= 10;     int result =10%3;     System.out.println(result);      )  在类Dog中方法printA()定义如下:  Public void printA() {   int a=10;   System.out.println(a/3);  }  Dog类的定义如下:  Class Dog extends Animal{…..}  Animal  animal = new Dog();  animal.printA();  以上语句输出为()。
    A

    0

    B

    1

    C

    2

    D

    3

    E

    3.333


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

  • 第13题:

    ( 12 )有如下程序:

    #include <iostream>

    using namespace std

    class Animal{

    public:

    virtual char* getType () const { return "Animal" ; }

    virtual char* getVoice () const { return "Voice" ; }

    };

    Class Dog : public Animal {

    public:

    char* getType ( ) const {return "Dog" ; }

    char* getVoice ( ) const {return "Woof"}

    };

    void type ( Animal& a ) {cout<<a.getType ( ) ; }

    void speak ( Animal a ) {cout<<a.getVoice ( ) ; }

    int main ( ) {

    Dog d; type ( d ) ; cout<<" speak" ; speak ( d ) ; cout<<endi;

    return 0;

    }

    运行时的输出结果是【 12 】 。


    正确答案:

  • 第14题:

    已知如下类定义: class Base { public Base (){ //... } public Base ( int m ){ //... } protected void fun( int n ){ //... } } public class Child extends Base{ // member methods } 如下哪句可以正确地加入子类中?()

    A.private void fun( int n ){ //...}

    B.void fun ( int n ){ //... }

    C.protected void fun ( int n ) { //... }

    D.public void fun ( int n ) { //... }


    正确答案:CD

  • 第15题:

    以下程序的执行结果是【】。include class B{public:B(){}B(int i.int j); void printb

    以下程序的执行结果是【 】。

    include <iostream.h>

    class B

    {

    public:

    B(){}

    B(int i.int j);

    void printb();

    private:

    int a,b;

    };

    class A

    {

    public:

    A() { }

    A(int i,int j);

    void printa();

    private:

    B c;

    };

    A:: A(int i,int j):c(i, j)

    { }

    void A:: pfinta()

    {

    c. printb();

    }

    B::B(int i,int j)

    {

    a=i;

    b=j;

    }

    void B::printb()

    {

    cout<<"a="<<a<<",b="<<b<<end1;

    }

    void main()

    {

    A m(7,9);

    m. printa();

    }


    正确答案:a=7b=9
    a=7,b=9

  • 第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题:

    有如下程序:

    nclude<iostream>

    using namespace std;

    class Animal{

    public:

    virtual char*getType()const{return“Animal”;}

    virtual char*getVoice()const{return“Voice”;}

    };

    class Dog:public Animal{

    public:

    char*getType()const{rgturn“Dog”;}

    char*getVoice()const{retum“Woof”;}

    };

    void type(Animal&A){cout<<a.getType();}

    void speak(AnimalA){cout<<a.getVoice();}

    int main(){

    Dog d.type(D);tout<<“speak”;speak(D);cout<<endl;

    return 0;

    }

    运行时的输出结果是【 】


    正确答案:Dog speak Voice
    Dog speak Voice 解析:基类中有两个虚函数getType( )和getVoiee( ),在派生类中同样也有。函数type和speak的形参都是Animal类的对象,但是一个是引用调用,另一个不是。当用Animal的派生类Dog类定义的对象调用这两个函数时,type函数会转向:Dog类中的成员函数,而speak函数不会。

  • 第18题:

    有如下类定义: class Test { private int x; public int y; public void setX (int m) {x=m;} public int getX( ) {return x;} }现用Test t=new Text();生成一个对象t,则如下语句中,错误的是( )。

    A.t.x=10;

    B.t.y=10;

    C.t. setX(10);

    D.int m=t.getX( );


    正确答案:A
    解析:本题考查public和private修饰符的访问权限。public指明变量和方法为公有,可以通过其对象直接访问,因此,选项B、C、D都是正确的访问方法。private指明变量为私有访问,只能被该类自己访问或调用,因此,A选项中不能通过其对象来访问私有变量。

  • 第19题:

    下列语句中变量result的结果为( )。 public class test { public static void main(String args[ ]) { int sum=10; int r=3; int result=sum %( ++r); System.out.println(result); } }

    A.3

    B.10

    C.2

    D.4


    正确答案:C

  • 第20题:

    若类A和类B的定义如下: class A { int i,j; public: void get(); //… } ; class B:A//默认为私有派生 { int k; public: void make(); //… }; void B::make() { k=i*j; } 则上述定义中, ( )是非法的表达式。

    A.void get();

    B.int k;

    C.void make();

    D.k=i*j;


    正确答案:D

  • 第21题:

    有以下程序:include using namespace std;class B{private: int a,b;public: B(){} B

    有以下程序: #include <iostream> using namespace std; class B { private: int a,b; public: B(){} B(int i,int j); void printb(); }; class A { B C; public: A(){} A(int i,int j); void printa(); }; A::A(int i,int j) :c(i,j) {} void A::printa() { c.printb (); } B::B(int i, int j) { a=i; b=j; } void B: :printb() { cout<<a<<", "<<b<<end1; } int main () { A m(7,8); m.printa(); return 0; } 该程序运行后的输出结果是( )。

    A.5,6

    B.7,8

    C.8,9

    D.9,10


    正确答案:B
    解析:本题考核类的定义和应用。程序首先定义了两个类A和B。在类A中,其私有数据成员c为类B的对象。类A的成员函数printa()中,调用私有成员对象c的成员函数printb()输出类B私有数据成员a和b的值。

  • 第22题:

    设有类定义如下:

    class InOut{

    String s= new String("Between");

    public void amethod(final int iArgs){

    int iam;

    class Bicycle{

    public void sayHello(){

    //Here

    }

    }

    }

    public void another(){

    int iOther;

    }

    }

    以下哪些语句可以安排在//Here处 ?

    A. System.out.println(s);

    B.System.out.println(iOther);

    C. System.out.println(iam);

    D. System.out.println(iArgs);


    正确答案:AD

  • 第23题:

    在Java中,类Animal中的方法printA()定义如下:  public void printA() {    Int a=10;    Int result =10%3;    System.out.println(result); }  在类Dog中方法printA()定义如下:  public void printA() {   Int a=10;    System.out.println(a/3); }  Dog类的定义如下:  Class Dog extends Animal{…}.  Animal animal=new Dog();  animal.printA();  以上语句输出结果为()。 

    • A、 0
    • B、 1
    • C、 2
    • D、3
    • E、3.3333

    正确答案:D

  • 第24题:

    单选题
    在Java中, 类Animal中的方法printA()定义如下: publicvoidprintA(){ inta=10; intresult=10%3; System.out.println(result);} 在类Dog中方法printA()定义如下: publicvoidprintA(){ inta=10; System.out.println(a/3);} Dog类的定义如下: classDogextendsAnimal{…}.Animalanimal=newDog();animal.printA(); 以上语句输出为()。
    A

    0

    B

    1

    C

    2

    D

    3

    E

    3.3333


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