blogger

点滴记忆

使用emlog搭建的站点

文章102

评论3

Java面向对象笔试题

 

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

一、判断题(10’)

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

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

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

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

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

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

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

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

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

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

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

 

二、选择题 (20’)

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

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

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

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

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

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

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

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

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

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

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

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

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

Aabstract不能与final并列修饰同一个类           Babstract类中不可以有private的成员

Cabstract方法必须在abstract类中                   Dstatic方法中能处理非static的属性

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

       Aabstract                 Bstatic               Creturn                    Dpublic

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

ABigMeaninglessName          B$int               C1s                  D$1

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

             Apublic void static mainString a[]        Bpublic static void mainString[ ] args

C static public void mainString[ ] a      Dpublic void mainString arg[ ]

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

Ax[24]0              Bx[24]未定义          Cx[25]0              Dx[0]为空

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

A0              B1                     C2                   D3

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

AString x=”Hello”; int y=9; x+=y;            

BString x=”Hello”; int y=9; if(x= =y) { }

CString x=”Hello”; int y=9; x=x+y;          

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

 

 

 

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

1class MyClass {

int var=100

static int getVar(int var) {

                 return var;

            }

         }

 

      2public class MyClass {

               int data

               void MyClassint data {

data=data

}

}

 

3public class MyMain {

               public static void mainString args[ ] {

System.out.println(MyClass1.data);

}

}

 

static  class MyClass1 {

int data=10;

}

 

 

      4class IamAbstract {

               final int f=0;

               double d;

               abstract void method();

         }

 

5class Parent {

               int mine;

}

 

class Child extends Parent {

int getMine() {

                   return mine;

                   }

}

 

 

四、程序阅读(20’)

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

class Q1{

public static void mainString 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 往记