blogger

点滴记忆

使用emlog搭建的站点

文章110

评论4

Java面向对象笔试题

 

《Java面向对象程序设计》模拟试题(A卷)

一、判断题(10’)

      1.Java程序里,创建新的类对象用关键字new。

2.对象可以赋值,只要使用赋值号(等号)即可,

 相当于生成了一个各属性与赋值对象相同的新对象。

3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。

4.类及其属性、方法可以同时有一个以上的修饰符来修饰。

5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

6.Final类中的属性和方法都必须被final修饰符修饰。

7.final最终类不能派生子类,最终方法不能被覆盖。

8.子类要调用父类的方法,必须使用super关键字。

9.一个Java类可以有多个父类。

10.方法覆盖必须要方法原型相同,可以不需要继承。

 

二、选择题 (20’)

       1、每个类都定义有(    ),以便初始化其成员变量。

A.方法         B.main()方法             C.构造方法                D.对象

 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(     )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(    )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

4、下列关于修饰符混用的说法,错误的是(     )

A.abstract不能与final并列修饰同一个类           B.abstract类中不可以有private的成员

C.abstract方法必须在abstract类中                   D.static方法中能处理非static的属性

5、 (     )修饰符允许对类成员的访问不依赖于该类的任何对象

       A、abstract                 B、static               C、return                    D、public

6、以下标识符中哪项是不合法的(      )

A、BigMeaninglessName          B、$int               C、1s                  D、$1

7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(    )

             A、public void static main(String a[])        B、public static void main(String[ ] args)

C、 static public void main(String[ ] a)      D、public void main(String arg[ ])

8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的(      )

A、x[24]为0              B、x[24]未定义          C、x[25]为0              D、x[0]为空

9、以下代码段执行后的输出结果为() int x=3; int y=10; System.out.println(y%x);

A、0              B、1                     C、2                   D、3

10、以下哪个表达式是不合法的(     )

A、String x=”Hello”; int y=9; x+=y;            

B、String x=”Hello”; int y=9; if(x= =y) { }

C、String x=”Hello”; int y=9; x=x+y;          

D、String x=null; int y=  (x!=null)&&(x.length()>0)   ?   x.length()   :   0

 

 

 

三、改错题(20’) 判断下面的程序片断是否正确。若有错,指出错在哪里并改正;若正确,打“√”。

1、class MyClass {

int var=100;

static int getVar(int var) {

                 return var;

            }

         }

 

      2、public class MyClass {

               int data;

               void MyClass(int data) {

data=data;

}

}

 

3、public class MyMain {

               public static void main(String args[ ]) {

System.out.println(MyClass1.data);

}

}

 

static  class MyClass1 {

int data=10;

}

 

 

      4、class IamAbstract {

               final int f=0;

               double d;

               abstract void method();

         }

 

5、class Parent {

               int mine;

}

 

class Child extends Parent {

int getMine() {

                   return mine;

                   }

}

 

 

四、程序阅读(20’)

1、阅读以下程序,输出结果为 。

class Q1{

public static void main(String args[ ]){

double d=1.23;

Dec dec=new Dec( );

          dec.decrement(d);

          System.out.println(d);

}

classs Dec{

             public void decrement(double decMe){

                    decMe = decMe - 0.1;

}

}

 

2、以下程序的输出结果为 。

public class Animal{

       public void cry(){

              System.out.println("动物叫 。。。。");

       }

}

public class Cat extends Animal{

       public void cry(){

              System.out.println("喵喵叫。。。。");

       }

       public void catchMouse(){

              System.out.println("抓老鼠。。。。");

       }

}

public class Dog extends Animal{

       public  void cry(){

              System.out.println("汪汪叫。。。。");

       }

public void lookDoor(){

              System.out.println("看门的。。。。");

       }

}

public class Start{

       public static void main(String[] args){

              Animal a1 = new Dog();

              a1.cry();

              Dog d1 = (Dog)a1;

              d1.lookDoor();

              a1 = new Cat();

              a1.cry();

              Cat c1 = (Cat)a1;

              c1.catchMouse();

       }

}

 

3、以下程序段的输出结果为 。

int x=0,y=4, z=5;

if (x>2){

      if (y<5){

             System.out.println(“Message one”);

}

else {

             System.out.println(“Message two”);

}

}

else if(z>5){

      System.out.println(“Message three”);

}

else {

      System.out.println(“Message four”);

}

 

4、以下程序段的输出结果为 。

      int j=2;

switch ( j ) {

             case 2: System.out.print(“Value is two.”);

             case 2+1 : System.out.println(“Value is three.”); break;

             default: System.out.println(“value is “+j); break;

}

 

五、问答题(10’)

1. Vector,ArrayList,LinkedList的区别?

答:

 

 

六、程序设计(上机操作)

打印出100以下的素数(20’)

 

 

七、附加题:在Java中从键盘上输入一串有“|”间隔的人物的名字可以是有重复的人物名字,输出的结果是有“|”由“&”替换,有重复的人物名字的“|”不进行替换。(20’)(上机操作)

就如:

输入时:孙悟空|猪八戒|唐僧|红孩儿|牛魔王|唐僧。

输出结果:孙悟空&猪八戒&唐僧&红孩儿&牛魔王|唐僧。

 

评论(0)

© 2018  点滴记忆  · emlog
  Design by 往记