更多“ 下列关于Test类的定义中,正确的是( )。A.B.C.D. ”相关问题
  • 第1题:

    阅读下面程序

    class Test implements Runnable{

    public static void main(String[] args){

    Test t = new Test();

    t.start();

    }

    public void run(){ }

    }

    下列关于上述程序的叙述正确的是

    A) 程序不能通过编译,因为 start() 方法在 Test 类中没有定义

    B) 程序编译通过,但运行时出错,提示 start() 方法没有定义

    C) 程序不能通过编译,因为 run() 方法没有定义方法体

    D) 程序编译通过,且运行正常


    正确答案:A

  • 第2题:

    下列关于Java源程序结构的论述中,正确的是______。

    A) 一个文件包含的import语句最多1个

    B) 一个文件包含的public类最多1个

    C) 一个文件包含的接口定义最多1个

    D) 一个文件包含的类定义最多1个

    A.

    B.

    C.

    D.


    正确答案:B

  • 第3题:

    下列关于类定义的说法中,正确的是

    A.类定义中包括数据成员和函数成员的声明

    B.类成员的缺省访问权限是保护的

    C.数据成员必须被声明为私有的

    D.成员函数只能在类体外进行定义


    正确答案:A
    解析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有的(private),所以选项B) 不正确:类的数据成员和函数成员的访问控制权限均可被声明为公有 (public)、私有(priate)和保护(protected)中的任意一种,所以选项C) 不正确;成员函数的实现即可以在类体内定义,也可以在类体外定义,所以选项D) 不正确。故本题应该选择A。

  • 第4题:

    在如下源代码文件Test.java中, 哪个是正确的类定义?()

    A.public class test { public int x = 0; public test(int x) { this.x = x; } }

    B.public class Test{ public int x=0; public Test(int x) { this.x = x; } }

    C.public class Test extends T1, T2 { public int x = 0; public Test (int x) { this.x = x; } }

    D.public class


    正确答案:BD

  • 第5题:

    应在下面程序下划线中填写的正确的语句是( )。 include using namespace std;

    应在下面程序下划线中填写的正确的语句是( )。 #include <iostream> using namespace std; class A{ public: void test(){cout<< "this is A!";} }; class B:public A{ void test(){ ______ //显示调用基类函数test() cout<< "this is B!"; } }; void main(){}

    A.A::test()

    B.test()

    C.B::test()

    D.this->test()


    正确答案:A
    解析:A::表示A的作用域。

  • 第6题:

    阅读下面程序 class Test implements Runnable { public static void main(String[] args) { Test t=new Test(); t.start(): } public void run() {} } 下列关于上述程序的叙述正确的是

    A.程序不能通过编译,因为start()方法在Test类中没有定义

    B.程序编译通过,但运行时出错,提示start()方法没有定义

    C.程序不能通过编译,因为run()方法没有定义方法体

    D.程序编译通过,且运行正常


    正确答案:A
    解析:创建线程有两种方法:实现java.lang.Runnable接口;继承Thread类并重写run()方法。start()是Thread类中的方法,而本程序中的Test类实现了Runnable接口,Runnable接口中只定义了一个抽象方法run(),故Test类不能调用start()方法。编译时会出现start()方法未定义的错误。

  • 第7题:

    有如下类定义: class Test { public: Test(){a=0;c=0} //① int f(int a)const{this->a=a;} //② static int g(){return a;} //③ void h(int b){Test::b;}; //④ private: int a; static int b; const int C; }; int Test::b=0; 在标注号码的行中,能被正确编译的是( )。

    A.①

    B.②

    C.③

    D.④


    正确答案:D
    解析:此题考查的是类的定义。一个类的长数据成员的初始化只能在成员初始化列表中进行,故选项A) 错误;常成员函数不能更新对象的数据成员,故选项B) 错误;静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员,故选项C) 错误。

  • 第8题:

    下列关于Test类的定义中,正确的是( )。

    A.class Test implements Runnable{ public void run{} Dublic void someMethod[]{} }

    B.class Test implements Runnable( puIblic void run; }

    C.class Test implements Runnable( Dublic void someMethod[]; }

    D.class Test implements Runnable( public void someMethod{} }


    正确答案:A
    A。【解析】java中实现多线程的方法之一就是实现Runnable接口中的run方法,把实现Runnable接口的子类对象传递给Thread类的构造函数。

  • 第9题:

    有如下类定义: class Test { int x_,y_; public: Test ():a_(0) ,b_(0) {} Test(int a,int b=0) :a_(a),b_(b){} }; 若执行语句 Test x(2) ,y[3],*z[4]; 则Test类的构造函数被调用的次数是( )。

    A.2次

    B.3次

    C.4次

    D.5次


    正确答案:C
    解析:定义对象x时执行一次构造函数(调用Test(int a,int b=0) ),定义对象数组y时,构造函数(注意,该构造函数必须是没有任何参数的)的执行次数与数组中对象的个数相等,即需要执行3次,最后定义一个指向Test对象的指针数组,它并不会创建对象,从而也就不会去执行构造函数,故构造函数一共执行了4次。

  • 第10题:

    在下列源代码文件Test.java中, ( )是正确的类定义。

    A.public class test{

    B.public class Test{ public int x=0;public int x=0; public test (intx) public Test (int x){ {this.x=x; this.x=x;} }} }

    C.public class Test extends T1,T2{

    D.protected class Test extends T2{ public int=0;public int x=0; public Test(int x){Public Test (int x){ this.x=x;this.x=x: }} }}


    正确答案:B

  • 第11题:

    下列选项中,能正确定义数组的语句是( )。

    A.

    B.

    C.

    D.


    正确答案:D
    选项A)不符合c语言的语法要求;选项B)中没有指定数组的大小;选项c)中数组大小不能用变量来指定。

  • 第12题:

    下列关于类层次中静态成员的描述,正确的是()

    • A、在基类中定义的静态成员,只能由基类的对象访问
    • B、在基类中定义的静态成员,在整个类体系中共享
    • C、在基类中定义的静态成员,不管派生类以何种方式继承,在类层次中具有相同的访问性质
    • D、一旦在基类中定义了静态成员,就不能在派生类中再定义

    正确答案:B

  • 第13题:

    如果使用 Thread t = new Test() 语句创建一个线程,则下列叙述正确的是

    A)Test 类一定要实现 Runnable 接口

    B)Test 类一定是 Thread 类的子类

    C)Test 类一定是 Runnable 的子类

    D)Test 类一定是继承 Thread 类并且实现 Runnable 接口


    正确答案:D

  • 第14题:

    下列关于Test类的定义中,正确的是______。

    A) class Test implements Runnabte{

    public void run(){}

    public void someMethod(){}

    B) class Test implements Rnuuable{

    public void run();

    }

    C) class Test implements Rnuuable{

    public void someMethod();

    }

    D) class Test implements Rnuuable{

    public void someMethod();{}

    }

    A.

    B.

    C.

    D.


    正确答案:A

  • 第15题:

    下列关于私有继承的说法中正确的是()。

    A、基类成员对派生类新定义的成员函数是不可见的;

    B、基类成员对派生类新定义的成员函数是可见的;

    C、只有基类成员中的公有成员对派生类新定义的成员函数是可见的;

    D、基类成员中的保护成员对派生类新定义的成员函数是可见的。


    参考答案:D

  • 第16题:

    在如下结构定义中,不正确的是()。

    A.

    B.

    C.

    D.


    正确答案:B

  • 第17题:

    已知有下列类的说明,则下列( )语句是正确的。 publicClass Test{ private float f=1.0f; int m=12; static int n=1: public static void main(Stringarg[]){ Test t=new Test(): } }

    A.t.f;

    B.this.n;

    C.Test.m;

    D.Test.f;


    正确答案:A

  • 第18题:

    如果使用Thread t=new Test()语句创建一个线程,则下列叙述正确的是

    A.Test类一定要实现Runnable接口

    B.Test类一定是Thread类的子类

    C.Test类一定是Runnable的子类

    D.Test类一定是继承Thread类并且实现Runnable接口


    正确答案:B
    解析:本题考查线程的使用。Java中可以通过实现Runnable接口来创建线程。通过这种方式创建线程是把Runnable的一个对象作为参数传递给Thread类的一个构造方法,该对象提供线程体run()。如果题目中Test实现Runnable接口,则创建线程的方法是Thread t=new Thread(new Test())。Java中另一种创建线程的方法是通过继承 Thread类,重写其中的run()方法定义线程体,然后直接创建该子类的对象即可创建线程。题目中使用Thread t=new Test()语句创建线程,其中直接创建Test类对象,可知该类一定是继承Thread类。因此,本题的正确答案是选项B。

  • 第19题:

    下列对结构体类型变量定义不正确的是()

    A.

    B.

    C.

    D.


    参考答案:C

  • 第20题:

    有如下类定义: class Test { public: Test{a=0;c=0;}//① int f(im A.const{this->a=a;}//② static int g{return a;f//③ void h(int B.{Test:.b=b;};//④ private: int a; static int b; const int C; }; int Test::b=0: 在标注号码的行中,能被正确编译的是( )。

    A.①

    B.②

    C.③

    D.④


    正确答案:D
    只能通过构造函数的参数初始化列表对常数据成员进行初始化,本题中常数据成员为C。①通过默认构造函数初始化c,所以不正确。常成员函数只能引用本类中数据成员,而不能修改它,所以②不正确。静态成员函数由于没有this指针,所以不能访问本类中的非静态成员,所以③错误。

  • 第21题:

    以下关于子类和父类的叙述中,正确的是______。

    A.代码中使用父类对象的地方,都可以使用子类对象替换

    B.代码中使用子类对象的地方,都可以使用父类对象替换

    C.父类定义的对象与子类定义的对象在属性和方法上一定相同

    D.父类定义的对象与子类定义的对象在属性和方法上一定不同

    A.

    B.

    C.

    D.


    正确答案:A
    解析:本题考查类和对象的基本概念。
      面向对象技术中,子类是父类的特化,子类可以根据自己的需求,选择和父类保持一样的属性和方法,或者增加新的属性、方法,或者改变父类已有的方法。但根据类之间继承关系的含义,一个子类对象一定也是一个父类对象,所有使用父类对象的地方,都可以使用子类对象代替。因为子类可以选择改变父类的属性和方法,因此,子类和父类有可能具有完全相同的属性和方法,也有可能不完全相同。

  • 第22题:

    关于下面程序,( )的结论是正确的。

    classJ_SubClassextendsJ_Test{}

    publicclassJ_Test{

    J_Test(inti){

    System.out.println(i);

    }

    publicstaticvoidmain(String[]args){

    J_SubClassa=newJ_SubClass();

    }

    }

    A、不能通过编译,因为类J_Test没有定义无参数的构造方法

    B、不能通过编译,因为类J_SubClass没有定义无参数的构造方法

    C、不能通过编译,因为没有实现J_SubClass(inti)的构造方法

    D、可以成功通过编译


    正确答案:A

  • 第23题:

    在下列源代码文件Test.java中,哪个选项是正确的类定义? ( )

    A.public class test { public int x=0; public test(int x) { this.x=x; } }

    B.public class Test { public int x=0; public Test(int x) { this.x=x; } }

    C.public class Test extends Ti,T2 { public int x=0; public Test(int x) { this.x=x; } }

    D.protected class Test extends T2 { public int x=0; public Test(int x) { this.x=x; } }


    正确答案:B