面向对象练习题

来源:互联网 发布:元数据管理工具 编辑:程序博客网 时间:2024/06/01 07:21
Java面向对象练习题一、填空题1.如果一个方法不返回任何值,则该方法的返回值类型为void2.访问修饰符有publicprotectedprivate3.一般Java程序的类主体由两部分组成:一部分是成员属性,另一部分是成员方法。4.使用class关键字来定义类,用interface关键字定义接口。5.当一个类的修饰符为final时,说明该类不能被其他类继承。6.类的访问权限有2种,分别是public和默认的。7.用来声明类成员的关键字是static。8.==是比较两个基本类型的值是否相等,equals()是比较两个对象是否相等。9.instanceOf运算符是用来检测该对象是否为特定的类型。10.Java的运算符中,优先级最高的符号是( )。11int a = i < j ? 20 : 30 ; 当i<j为true时情况下,a的值为2012int c = 2 | 3;  c的值为313.整数类型一般默认是int类型,是32位。14break主要用在循环语句或者switch语句中,用来跳出整个语句块;         continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。15switch语句中的变量类型只能为byteshortintchar、String。16.遍历数组有2种方法,分别是普通for循环和foreach循环。17.数组中可以存放任意类型的数据。18.Java中类可以看做创建对象的模板,成员属性代表数据模型,    成员方法代表行为模型。19.一个类可以包含3种类型变量,分别是局部变量、成员变量和类变量。20.实现多态的三个条件是继承、重写、向上转型。二、选择题1.方法内定义的变量( )。A.一定在方法内所有位置可见     B.可能在方法的局部位置可见C.在方法外可以使用             D.在方法外可见2.方法的形参(  )。A.可以没有  B.至少有一个C.必须定义多个形参      D.只能是简单变量3return语句( )。A.不能用来返回对象      B.只可以返回数值C.每个方法都含有       D.一个方法中可以有多个4.main()方法的返回值类型是( )。A.boolean   B.intC.void      D.static5.编译并运行下面的程序,运行结果是( )。public class A{   public static void main(String args[]){      A a=new A();      a.method(8);   }   void method(int i){      System.out.println(“int:  ”+i);   }   void method(long i){      System.out.println(“long:  ”+i);   }A.程序可以编译运行,输出结果为:“int:  8”      B.程序可以编译运行,输出结果为:“long:  8”     C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是( )。A.interface B.classC.protected         D.public7.下列方法定义中,方法头不正确的是( )。A.public static x(double a){…}      B.public static int x(double y){…}C.void x(double d){…}       D.public int x(){…}8.构造方法在(   )时被调用。A.类定义时  B.使用对象的变量时C.调用对象方法时       D.创建对象时9.下列不属于面向对象程序设计的基本特征的是( )。A.多态        B.封装C.继承        D.静态10.请看下面的程序段class Person{  String name,department;int age;public Person(String n){name=n;}public Person(String n,int a){name=n; age=a;}public Person(String n, String d, int a ){//doing the same as two arguments version if constructer}下面那个选项可以添加到// doing the same……处(    )A.Person(n,a)   B.this(Person(n,a))C.this(n,a)         D.this(name,age)11.请看下面的程序段class Test{   private int m;public static void fun(){   //some code}}方法fun()如何来访问变量m(     )A.将private int m 改成protected int m      B.将private int m 改成public int mC.将private int m 改成static int m     D.将private int m 改成int m  12.有一个类A,对于其构造函数的声明正确的是( )。A.void A(int x){…}  B.public A(int x){…}C.A A(int x){…} D.int A(int x){…}13.请看下面的程序段public class Test{  long a[]=new long[10];  pubic static void main(String args[]){System.out.println(a[6]);}}哪一个选项是正确的(    )。A.不输出任何内容   B.输出0C.当编译时有错误出现         D.当运行时有错误出现14.关键字( )表明一个对象或变量在初始化后不能修改。A.extends       B.finalC.this      D.finalize15.定义类A如下:class A{  int a,b,c;  public void B(int x,int y, int z){ a=x;b=y;c=z;}}下面对方法B的重载哪些是正确的( )。A.public void A(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}B.public void B(int x1,int y1, int z1){ a=x1;b=y1;c=z1;}C.public void B(int x,int y){ a=x;b=y;c=0;}         D.public B(int x,int y, int z){ a=x;b=y;c=z;}17.下列方法的声明中不合法的是    。A.float area( ){…}                      B.void area( ){…} C.area{…}                           D.int area(int r){…}18、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量    。A.static            B.super         C.this              D.new三、阅读程序题1、写出运行结果:mainbord:华硕,cpu:Intel 。public class Computer{      String mainbord,cpu;    public Computer(String s1,String s2){           mainbord=s1;        cpu=s2;         }    public static void main(String[]args){          Computer c=new Computer("华硕","Intel");        System.out.println("mainbord:"+c.mainbord+",cpu:"+c.cpu);           }   }   2、写出运行结果:Peter is 17 years old!。public class Person{        String name;int age;public Person(String name,int age){     this.name=name;    this.age=age;}public static void main(String[]args){      Person c=new Person("Peter",17);    System.out.println(c.name+" is "+c.age+" years old!");}}3、写出运行结果:a=60  b=20  c=30public   class   abc{public   static   void    main(String   args[ ]) {SubSubClass   x = new   SubSubClass(10 , 20 , 30);x.show();}}class   SuperClass{    int   a,b;SuperClass(int aa , int   bb){   a=aa;   b=bb;   }void   show( ){   System.out.println("a="+a+"  b="+b);   }}class    SubClass    extends    SuperClass{   int c;SubClass(int   aa,int   bb,int   cc){     super(aa,bb);c=cc;} }class    SubSubClass    extends    SubClass{    int   a;SubSubClass(int aa,int   bb,int   cc){    super(aa,bb,cc);a=aa+bb+cc;}void   show(){ System.out.println("a="+a+"  b="+b+"  c="+c);   }}4.下面是一个类的定义,请将其补充完整   class  Student  {      String name;      int age;      Student( String  name, int a){         this.name=name;         age=a;      }}5.下面是一个类的定义,请将其补充完整   class A {      String s;      static  int a=3;      A(String s){         this.s=s;      }static int getA(){            return a;}}
0 0