《面向对象程序设计(Java)》综合练习
一、判断题
1、 Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
2、 对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3、 有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4、 类及其属性、方法可以同时有一个以上的修饰符来修饰。
5、 Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.
6、 抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7、 final类中的属性和方法都必须被final修饰符修饰。
8、 最终类不能派生子类,最终方法不能被覆盖。
9、 子类要调用父类的方法,必须使用super关键字。
10、 一个Java类可以有多个父类。
11、 创建新的类对象用new,回收无用的类对象用free。
12、 虽然有的类定义时可不定义构造函数,但构造函数是必需的。
13、 Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
14、 final类中的属性和方法都必须被final修饰符修饰。
15、 java switch case string子类要调用父类的方法,不必用super关键字。
16、 如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。
17、 当一个方法在运行过程中产生一个异常,则这个方法会终止,但整个程序不一定终止运行。
18、 用+可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。
19、 设String对象s=”Hello”,运行语句System.out.at(“world!”));后String对象s的内容为”Hello world!”,所以语句输出为:Hello world!
20、 一个容器中可以混合使用多种布局策略。
参考答案:
1、×    2、×    3、×    4、√    5、×    6、×    7、×    8、√    9、×    10、×
11、×    12、√    13、×    14、×    15、√    16、×    17、√    18、×    19、×    20、√
二、单选题
1、关于被私有访问控制符private修饰的成员变量,以下说法正确的是      )
A、可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、只能被该类自身所访问和修改
C、只能被同一个包中的类访问
D、可被两种类访问和引用:该类本身、该类的所有子类
2、下列关于修饰符混用的说法,错误的是      )
A、 static方法中能处理非static的属性
B、 abstract方法必须在abstract类中
C、 abstract类中不可以有private的成员
D、 abstract不能与final并列修饰同一个类
3、容器Panel和Applet缺省使用的布局编辑策略是      )
A、BorderLayout        B、FlowLayout        C、GridLayout        D、CardLayout
4、main方法是Application的入口点,以下main方法的方法合法的是      )
A、public static void main( )                    B、public static int main(String[ ]  args)
C、public static void main(String[ ] arg)        D、public  void  main(String arg[ ])
5、以下代码段执行后的输出结果为      )
    int  x=3; int  y=10;    System.out.println(y%x);
A、0                B、1                C、2                    D、3
6、编译运行以下程序后,关于输出结果的说明正确的是      )
    public class Conditional{
        public static void main(String args[ ]){
            int x=4;
            System.out.println(“value is “+ ((x>4) ? 99.9 : 9));
}
}
A、输出结果为:value is 99.99                    B、输出结果为:value is 9
C、输出结果为:value is 9.0                    D、编译错误
7、以下声明合法的是      )
A、public final static native int w( );                        B、default String s;
C、abstract final double hyperbolicCosine( );                D、abstract double d;
8、关于以下程序代码的说明正确的是      )
1. class  HasStatic{
2.     private  static  int  x=100;
3.     public  static  void  main(String  args[  ]){
4.         HasStatic  hs1=new  HasStatic(  );
5.         hs1.x++;
6.         HasStatic  hs2=new  HasStatic(  );
7.         hs2.x++;
8.         hs1=new  HasStatic( );
9.         hs1.x++;
10.         HasStatic.x- -;
11.         System.out.println(“x=”+x);
12.                                           }
13.             }
A、 5行不能通过编译,因为引用了私有静态变量
B、 10行不能通过编译,因为x是私有静态变量
C、 程序通过编译,输出结果为:x=102
D、 程序通过编译,输出结果为:x=103
9、类Test1定义如下:
1.public  class  Test1{
2.        public  float  aMethod(float  a,float  b){  }
3.       
4.}   
将以下哪种方法插入行3是不合法的      )
A、 public  float  aMethod (float  a, float  b,float  c) {  }
B、 public  float  aMethod (float  c,float  d) {  }
C、 public  int  aMethod (int  a, int  b) {  }
D、 private float aMethod (int  a,int  b,int  c) {  }
10、关于以下程序段,正确的说法是      )
1. String  s1=”abc” + ”def”;
2. String  s2=new  String(s1);
3. if (s1= =s2)
4.     System.out.println(“== succeeded”);
5. if (s1.equals(s2))
6.     System.out.println(“.equals() succeeded”);
A、行4与行6都将执行                B、行4执行,行6不执行
C、行6执行,行4不执行                D、行4、行6都不执行
11、被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是      )
A. 可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B. 可被两种类访问和引用:该类本身、该类的所有子类
C. 只能被该类自身所访问和修改
D. 只能被同一个包中的类访问
12、以下标识符中哪项是不合法的      )
A、BigMeaninglessName        B、$int            C、3ku        D、$1
13、执行完以下代码int [ ]  x = new int[25];以下哪项说明是正确的      )
A、x[24]为0        B、x[24]未定义        C、x[25]为0        D、x[0]为空
14、以下哪个表达式是不合法的      )
A、String  x=Helloint  y=9;  x+=y;
B、String  x=Helloint  y=9;  if(x= =y)  { }
C、String  x=Helloint  y=9;  x=x+y;
D、String  x=null;  int  y=(x!=null)&&(x.length>0) ? x.length : 0
15、一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可不相同。这种面向对象程序特性称为      )。
A、隐藏            B、覆盖            C、重复            D、重载
参考答案:
1、B    2、A    3、B    4、C    5、B    6、C    7、A    8、C    9、B    10、C    11、B    12、C    13、A    14、B    15、D
三、填空题
1拆分窗体有两种类型:_________拆分和垂直拆分
2、在Java中定义一个字符串类型的变量str的语句是_________
3、定义一个具有10个元素的整型数组a的语句是_________
4Java采用Unicode编码方案,每个Unicode码占_________个字节内存。
5、运算符=的功能是_________,比较两个数相等的运算符是_________
6、下面程序段的执行结果是_________
int a[]={ 2, 3, 4, 5, 6 };
for(int i=a.length-1 ;i>=0; i--)
System.out.print(a[i] + ",");
7、导入mypackage包中的所有类的命令是_________
8、若程序中定义一个publicC1和一个友好类C2,则源程序的主文件名应为_________
9、一个一维数组有10个元素,则该数组可用的下标范围是_________
10、_________类必须派生出子类才能使用;与此相反,________类不能有子类。所以,二者不能同时修饰同一个类。
11、___________是对每个新创建的具体对象进行初始化,而___________是对类自身进行初始化。
12、接口中的属性只能是_________,接口中的方法只能是_____________。
13、________将行为相似的对象放到同一个类中,并为其命名,形成类,是一种由下而上扩充类的方法,是OOP的重要特。
14、所有的Java异常类都是___________类的子类。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。