提示:内容已经过期谨慎付费,点击上方查看最新答案

面向对象程序设计

  1. 下面( )不是Java的访问修饰符关键字。

  2. A: friend  B:protected  C:public   D:private 
    答案:friend
  3. 关于Java中异常的叙述正确的是:( )

  4. A:异常出现后程序的运行马上中止 B:异常是程序编写过程中代码的语法错误 C:异常是程序编写过程中代码的逻辑错误 D:异常是可以捕获和处理的
    答案:

    异常是可以捕获和处理的


  5. void 的含义:( )

  6. A:方法的返回值不能参加算术运算 B:方法体为空 C:定义的方法没有形参 D:定义的方法没有返回值
    答案:C:定义的方法没有返回值;
  7. 在Java语言中,下列关于类的继承的描述,正确的是( )。

  8. A:子类可以使用父类的所有方法  B:子类一定比父类有更多的成员方法     C:一个类可以继承多个父类  D:一个类可以具有多个子类 
    答案:一个类可以具有多个子类
  9. 在Java中,下面对子类XX的描述正确的是( ).  

  10. A:构造函数和类有相同的名称,并且不需指定任何参数  B:一个类可以定义多个构造函数   C:类XX必须定义构造函数  D:构造函数的返回类型是void 
    答案:一个类可以定义多个构造函数
  11. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )。

  12. A:y x1; B:static x x1; C:public x x1=new x(int 123); D:x x1=x( );
    AI参考:根据题目给出的信息,正确的声明语句应该是:C: public x x1 = new x(int 123);解释如下:A选项中,y x1; 声明了一个名为x1的对象,但没有指定对象的类型和初始化值,所以不正确。B选项中,static x x1; 声明了一个静态对象,但是静态对象只能在静态方法中使用,因此不正确。D选项中,x x1 = x( ); 这段代码是错误的,因为类的构造函数应该在对象被创建时使用,而不是像调用方法一样被调用。只有C选项是正确的,因为new关键字用于创建一个新对象,而对象类型的变量应该初始化。这里x1是x类的对象,应该通过构造函数初始化对象属性。所以,正确的选项是C: public x x1 = new x(int 123);。'
  13. 不使用static修饰符限定的方法称为对象方法,下列说法正确的是( ) 

  14. A:实例方法可以直接调用父类的类方法  B:实例方法不可以直接调用本类的类方法  C:实例方法可以直接调用父类的实例方法  D:实例方法可以直接调用其他类的实例方法 

  15. 在Java中,允许一个类定义位于另一个类的内部,前者称为,后者称为外部类( )

  16. A:聚合类 B:内部类 C:包含类 D:抽象类
    AI参考:在Java中,允许一个类定义位于另一个类的内部,前者称为内部类,后者称为外部类。因此,选项B“内部类”是正确答案。内部类是一种特殊的类,它可以在另一个类的内部定义,可以访问外部类的成员(包括私有成员),并且可以被子类继承。而选项A的聚合类通常用于将多个类组合在一起,选项C的包含类并不是Java中的术语,选项D的抽象类是一种特殊的类,它不能被实例化,但可以作为其他类的基类。'
  17. 执行完一下代码int[]x=new int[25];后,一下那个说明是正确的(  ) 


  18. A:x[24]为0 B:x[0]为空   C:x[24]未定义 D:x[25]为0

  19. 三元运算符的正确格式是( )

  20. A:(表达式)?{结果1}:{结果2} B:(表达式1)?{结果1;结果2} C:(表达式):{结果1}?{结果2} D:(表达式)?{结果1};{结果2}
    AI参考:正确答案是【B】:(表达式1)?{结果1;结果2}。三元运算符的一般形式是:表达式?结果1:结果2。当表达式结果为真时,运算结果为结果1,否则运算结果为结果2。B选项中符合这种格式,所以选B。'
  21. 下列语句序列执行后,i的值是( )。
    int i=16;
    do { i/=2; } while( i > 3 );

  22. A:8 B:16 C:2 D:4

  23. 定义类头时能使用的修饰符是( )。

  24. A:private B:abstract C:protected D:static

  25. 下列类定义中,不正确的是( )。

  26. A:static class x implements y1,y2 { .... } B:class x extends y { .... } C:public class x extends Applet { .... } D:class x { .... }

  27. 若在某一个类定义中定义有如下的方法:abstract void performdial();
    该方法属于( )

  28. A:抽象方法  B:静态方法  C:最终方法 D:本的方法

  29. 设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。

  30. A:x( int h,int m,int n){ ... } B:void x( int m){ ... } C:x( int m){ ... } D:x( int m, int n){ ... }

  31. 在记账系统中用到的浮点数据类型(带小数点)默认是哪一种数据类型( )

  32. A:decimal B:long C:double D:float
    AI参考:在记账系统中用到的浮点数据类型(带小数点)默认是C:double。因为double是一种双精度浮点型,它能够提供更高的精度,适合存储和处理带小数点的数据类型。而decimal是一种固定精度的浮点数类型,适合用于精确的小数计算,但是它的精度通常比double要低一些。long是一种长整型数据类型,不适合用于存储带小数点的数据类型。float是一种单精度浮点型,适合用于存储小数值,但是它的精度和范围都不如double。因此,答案为C:double。'
  33. 一下标识符那些是不合法的( )

  34. A:1s   B:$1  C:bigmeaninglessname   D:$int  
    AI参考:下面的标识符中,B、D是不合法的。标识符应该由字母、数字、下划线(_)组成,并且标识符是区分大小写的。在标识符中,B使用了数字1开头,而标识符不能以数字开头。同时,D使用了美元符号($)和关键字int,这些都是不合法的标识符字符。而A和C中的标识符1s和bigmeaninglessname都是合法的标识符,因为它们没有使用非法字符。所以,答案是B和D。'
  35. 应用程序的main方法中有以下语句,则输出的结果是 ( )。
    double x=1234.1234567;
    DecimalFormat form1 = new DecimalFormat("0000.0");
    System.out.println("PI="+form1.format(x));

  36. A:PI=1234.1235 B:PI=1234 C:PI=1234.0 D:PI=1234.1

  37. 设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。

  38. A:x > y || x > z B:x != y C:x < y & ! ( x < z ) D:z > ( y + x )

  39. 下列那个是合法的java标示符( )  

  40. A:class    B:_$thelastone    C: tree&class   D:273.5 
    AI参考:根据Java编程语言的命名规则,一个有效的Java标识符必须满足以下条件:1. 标识符可以是字母(包括大写和小写)、数字、下划线(_)或美元符号($)的任意组合。2. 标识符的第一个字符必须是字母、下划线或美元符号。3. 标识符不能是Java关键字或保留字。选项A:class 是有效的Java标识符,因为它符合上述规则。选项B:$_$thelastone 包含美元符号,不符合Java标识符的第一个字符必须是字母、下划线或美元符号的要求。选项C: tree&class 包含特殊字符&,不符合Java标识符的规则。选项D:273.5 是一个数字,不是一个有效的Java标识符。因此,答案是A:class。'
  41. 下面main()方法的定义哪些是正确的( )?

  42. A:public static void main(String[] args) {} B:public static void main(String args[]) {} C:public static void main(String [] x) {} D:public static void main(String[]) {}
    AI参考:正确选项是:A:public static void main(String[] args) {}Java中定义main()方法时,必须符合以下规范:* 定义方式:public static void main(String[] args)* 参数说明:String[] args,表示main方法可以接收一个字符串数组作为参数,这个数组通常用于存储命令行参数。* 返回值:void,表示main方法没有返回值。所以选项A和选项D都是正确的main()方法定义。而选项B和选项C中都存在错误,其中选项B中的“String args[]”是不正确的,因为应该使用数组名称作为参数名;选项C中的“String [] x”没有给出数组名称,也不符合规范。'
  43. 和外部类不同,内部类还可以声明为( )

  44. A:protected B:private C:缺省 D:public
    AI参考:答案为A、B、C。外部类可以声明为protected,private或public。内部类在内部类与外部类的关系上可以有以下几种:1)局部内部类,它只属于定义它的方法;2)嵌套内部类,它属于定义它的外部类;3)静态内部类,它属于定义它的外部类的实例。所以内部类可以声明为protected,private或缺省(默认),但是不能声明为public。因此选项D是错误的。所以正确选项为A、B、C。'
  45. 编译并运行下面的程序,运行结果为(     ).

    public class A {

     public static void main (String[] args) {

      A a=new B( );

      a.test();

     }

     void test()  {

      System.out.print ("A");

     }

    }

    class B extends A {

     void test() {

      super.test();

      System.out.println("B");

     }

    }



  46. A:代码可以编译运行,并输出结果:A B:代码可以编译运行,并输出结果:AB C:子类B定义了与父类A中同名的方法test,java中称为方法的覆盖 D:子类B定义了与父类A中同名的方法test,java中称为方法的重载
    AI参考:正确选项是【C:子类B定义了与父类A中同名的方法test,java中称为方法的覆盖】。在Java中,子类可以定义与父类中同名的方法,这被称为方法的覆盖(override)。在这个程序中,子类B定义了一个名为test的方法,该方法与父类A中的同名方法具有相同的方法名、参数列表和返回类型。因此,子类B的方法覆盖了父类A中的方法。当程序运行时,子类B的test方法将被调用,输出结果为"B",而父类A的test方法未被调用,因此输出结果为"A"。因此,选项C是正确的。选项A、B和D都不符合程序的运行结果。'
  47. 面向对象的三大特征( )

  48. A:封装 B:接口 C:多态 D:继承

  49. 下面关于类的说法正确的是( )。

  50. A:类是对所有具有一定共性的对象的抽象。 B:类是 Java 语言中的一种复合数据类型。 C:类中包含数据变量和方法。 D:Java 语言的类只支持单继承。

  51. 位运算符<<代表( )

  52. A:乘2 B:除2 C:左移 D:右移
    AI参考:正确选项是【C:左移】。位运算符<<代表左移,即二进制数左移一位。在计算机中,位运算符<<经常用于位运算。左移会使原本在二进制位上的数字在原始位左边的位全部清零,而右边的位全部取决于被移动的数的最高位(符号位)。在上述答案中,选择C:左移,符合位运算符<<代表的含义。'
  53. Java语言三个只要分支有( )

  54. A:Java ME B:Java EE C:Java QE D:Java SE
    AI参考:正确选项是【D:Java SE】。Java语言的主要分支包括Java SE(标准版)、Java EE(企业版)和Java ME(移动版)。其中,Java SE是Java语言的基础版本,也是最常用的版本,它适用于桌面应用程序、Web应用程序、企业级应用程序、移动应用程序等。因此,选项D是正确的。选项A、B、C都不是Java语言的分支,因此不正确。'
  55. Object类中定义中默认的方法有( )

  56. A:compared() B:hash() C:equals() D:toString()
    AI参考:正确选项为:BCDObject类中默认的方法有hash()、equals()和toString()。A选项中的compared()并不是Object类中的默认方法。因此,正确选项为BCD。hash()方法用于计算对象的哈希码,equals()方法用于比较两个对象是否相等,toString()方法用于返回对象的字符串表示形式。这些方法在Java中是Object类中默认的方法,也是许多其他类继承自Object类时需要实现的方法。'
  57. 面向对象程序设计的基本特征是( )。

  58. A:抽象 B:继承 C:封装 D:多态

  59. 下面哪个说法正确( )?

  60. A:如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。 B:接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 C:如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。 D:如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。
    AI参考:正确选项是【C:如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。】选项A错误的原因在于,Java的package语句并不一定是源文件的第一个非空非注释行。package语句的主要作用是告诉编译器包的名字,告诉它应该把源文件放在哪个包中。选项B错误的原因在于,接口中的方法不一定是抽象方法,可以是具体方法。选项D错误的原因在于,接口和源文件的名字可以不相同,例如一个接口可以声明在多个不同的源文件中。而C选项是正确的,因为import语句必须放在除空行和注释行外的第一个语句行,这是Java编程语言中的基本规则。'
  61. 如果x和y相同则表示二者相等的是( )

  62. A:y==x B:y.equals(x) C:x==y D:x.equals(y)
    AI参考:正确选项为:D:x.equals(y)。Java中的equals()方法用于比较两个对象的内容是否相等,而不是比较它们的引用是否相等。因此,如果x和y相同,则应该使用x.equals(y)来表示二者相等。而y==x和x==y只是比较了它们的引用是否相等,而不是它们的内容是否相等。y.equals(x)方法在Java中并不存在,因此选项B不正确。'
  63. 布尔类型的返回结果的类型有两个分别是( )

  64. A:int B:byte C:true D:false
    AI参考:正确选项是【AD】布尔类型的返回结果的类型有两个分别是int和false。在Java等编程语言中,布尔类型的返回结果通常被封装为int或boolean类型,其中true和false分别被表示为1和0。因此,选项A和D是正确的答案。选项B和C不是布尔类型的返回结果的类型,它们是表示布尔值的实际值,而不是类型。'
  65. 在Java类中,可用static修饰是以下哪几项 ( )

  66. A:方法 B:修饰属性 C:代码块 D:内部类
    AI参考:在Java类中,可用static修饰的方法、属性以及内部类,但通常来说不应该使用static来修饰代码块。所以,正确选项为:A:方法、B:修饰属性、D:内部类。C项不应该用static修饰。'
  67. 一维数组的使用声明( )

  68. A:type var B:[] var C:type var[] D:type[] var
    AI参考:正确选项是【C:type var[]】。在C#中,声明一维数组时,需要指定数组类型和数组的长度。选项A和B中只指定了数组类型,但没有指定数组长度,不符合要求。选项D中虽然指定了数组长度,但没有指定数组类型,也不符合要求。只有选项C同时指定了数组类型和数组长度,因此是正确的声明方式。'
  69. 以下哪一项关于类中的成员描述正确的是( )

  70. A:属性 = 局部变量 B:(成员)方法 = 过程 C:(成员)方法 = 函数 D:属性 = 成员变量
    AI参考:正确选项为 D:属性 = 成员变量。在面向对象编程中,属性通常是指对象的属性或特性,而成员变量则是对象内部使用的变量,用于存储对象的状态信息。因此,属性与成员变量之间的关系是等价的,选项 D 描述正确。选项 A 错误,因为局部变量是存在于函数或方法内部的变量,而属性是对象的一部分,通常存在于类中。选项 B 和 C 也存在类似的错误,过程和方法通常用于描述操作或功能,而不是对象属性。因此,选项 D 是正确的描述。'
  71.  在java语言中,boolean型常量只有true和false两个值。 ( )

  72. A:对 B:错

  73. 关键字import用于导入包中的类到程序中,供程序中使用。( )

  74. A:错 B:对

  75. Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的 catch块来捕获和处理异常。( )

  76. A:错 B:对

  77. 类是对一类事物的描述,是抽象的、概念上的定义( )

  78. A:对 B:错

  79.  八进制整数012表示十进制的 10。  ( )

  80. A:对 B:错

  81. 动态初始化时数组声明且为数组元素分配空间与赋值的操作分开进行( )

  82. A:错 B:对
    AI参考:答案:B:对。动态初始化时,数组声明和为数组元素分配空间与赋值的操作是分开进行的。首先需要声明数组的大小,然后通过分配内存空间为每个元素分配空间,最后逐个为数组元素赋值。这样可以确保数组的内存空间分配和元素赋值是独立的,并且可以根据需要动态调整数组的大小。因此,答案为B。'
  83. 方法被调用一次,就会执行一次( )

  84. A:错 B:对
    AI参考:答案是B:对。题目中明确指出“方法被调用一次,就会执行一次”,所以这个说法是正确的,选项B符合题意。而选项A的说法是错误的,因为方法可以被多次调用,不一定每次都会执行。'
  85. 数组的长度一旦确定,就不能修改( )

  86. A:错 B:对
    AI参考:答案是B:对。数组的长度一旦确定,就不能修改。这意味着一旦数组的大小被分配,就不能更改它的大小,否则可能会导致数据溢出或其他错误。因此,这个陈述是正确的。'
  87. 程序中实现多线程的方法有两种:继承Thread 类和实现Runnable接口。( )

  88. A:错 B:对
    AI参考:正确答案是B:对。实现多线程的方法主要有两种:继承Thread类和实现Runnable接口。这是Java编程语言中实现多线程的基本方法。所以这个判断题是正确的,答案为B。'
  89.  下面的语句是声明一个变量并赋值:    boolean b1=5!=8; b1的值是true 。  ( )

  90. A:对 B:错

  91. 一个父类只能派生出一个子类( )

  92. A:对 B:错
    AI参考:答案是B:错。一个父类可以派生出多个子类。这是面向对象编程中多态性的一个基本特征。'
  93. Java只支持单继承和多层继承,不允许多重继承( )

  94. A:错 B:对

  95. 接口中的成员只有静态常量和抽象方法。( )

  96. A:对 B:错
    AI参考:答案是B:错。接口中可以有非静态常量和实例方法,也可以有抽象方法和非抽象方法。因此,这个判断题是错误的。'
  97.  在java语言中,如果数值后没有字母,计算机默认值为double类型。( )

  98. A:对 B:错

  99. 由26个英文字母大小写,0-9 ,_或 $ 组成( )

  100. A:对 B:错
    AI参考:正确答案是B:错。该题目表述不清晰,无法判断是字母、数字、符号或组合。如果是组合选项,也不符合常见规则,如 "$" 或 "_" 不能由0-9字母或英文字母组成。所以该题目描述有误,无法判断选项A或B。'

温馨提示支付 ¥1.60 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部