第三章 Java语言面向对象的特征
一、选择题
1、下列对封装性的描述中,错误的是  B   
A.封装体包含了属性和行为        B.封装体中的属性和行为的访问权限是相同的
C.被封装的某些信息在封装体外是不可见的   
D.封装使得抽象的数据类型提高了可重用性
2、在类的修饰符中,规定只能被同一包类所使用的修饰符是  B   
A.public          B.默认      C.final          D.abstract
3、在成员变量的修饰符中,规定只允许该类自身访问的修饰符是  A   
A.private          B.public      C.默认          D.protected
4、下列关于构造方法的特点的描述中,错误的是  A   
A.不可重载          B.方法名同类名      C.无返回类型      D.系统自动调用
5、下列关于关于静态方法的描述中,错误的是  D   
A.在类体内说明静态方法使用关键字         
B.静态方法只能处理静态变量或调用静态方法
C.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间
D.静态方法只能用类名调用
6、下列关于抽象类的描述中,错误的是  C   
A.抽象类是用修饰符abstract说明的
B.抽象类是不可以定义对象的
C.抽象类是不可以有构造方法的
D.抽象类通常要有它的子类
7、下列关于接口的描述中,错误的是  B   
A.接口实际上是由常量和抽象方法构成的特殊类             
B.一个类只允许继承一个接口             
C.定义接口使用的关键字是interface               
D.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现
8、下列关于包的描述中,错误的是  A   
A.包是一种特殊的类             
B.包是若干个类的集合             
C.包是使用package语句创建的               
D.包有有名包和无名包两种
9、下列常用包中,存放用户图形界面类库的包是  A   
A.java.awt             
B.java.lang             
C.java.util               
D.java.io
10、下列是系统提供的常用的类,所有类的父类的类是  B   
A.Math             
B.Object             
C.System             
D.String
二、判断题
1、类是一种类型,也是对象的模板。(T)
2、最终变量就是Java语言中的符号常量。(T)
3、最终类、最终方法和最终变量的修饰符都用final。(T)
4、使用运算符new创建对象时,赋给对象的值实际上是一个地址值。(T)
5、Java语言中,构造方法是可以继承的。(F)
6、子类中所继承父类的成员都可以在子类中访问。(F)
7、成员方法的重载和覆盖是一回事。(F)
8、实现接口的类不能是抽象类。(T)
三、编程题
1、编程实现百鸡百钱问题:公鸡每只3元,母鸡每只5元,小鸡31元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?
public class B-b
{
public static void main(String args[] )
{
  int cocks,hens,chicks;
  for(cocks=0;cocks<=33;cocks++)
    for(hens=0;hens<=20;hens++)
      { chicks=100-cocks-hens;
java面向对象的特征有哪些方面      if(3*cocks+5*hens+chicks/3==100&&chicks%3==0)
        System.out.println(“cocks:”+cocks+”,hens:”+hens+”, chicks:”+chicks);
      }
}
}
2、已知如下一个类:
  class A
  {  int a1,a2;
    A(int i,int j)
    {  a1=i; a2=j; }
  }
要求编写一个方法swap()用来交换A类的两个成员变量的值。
class A
  {  int a1,a2;
    A(int i,int j)
    {  a1=i; a2=j; }
    void swap()
{ int a;
  a=a1;
  a1=a2;
  a2=a;
      System.out.println(“a1=”+a1+”,a2=”+a2);
}
  }
public class Pro
{
public static void main(String args[])
{ A a=new A(10,20);
a. swap();
}
}
3、定义一个复数类complex,内有两个成员变量:实部和虚部,还有两个方法:求两个复数和add以及求两个复数差sub,两个初始化复数实部和虚部的构造方法,一个有参数,一个无参数。编程验证该程序的复数加减运算是正确的。
class Complex
{
    double real,imag;
    Complex()
    {real=0;imag=0;}
    Complex(double i,double j)
    {real=i;imag=j;}
    Complex add(Complex a)
  { Complex k=new Complex();
      k.real=al;
      k.imag=imag+a.imag;
      return k;
  }
  Complex sub(Complex a)
  { Complex k=new Complex();
      k.al;
      k.imag=imag-a.imag;
      return k;
  }
  void Print()
  {System.out.println(real+","+imag);}
}
public class pro
{
    public static void main(String args[])   
    {
        Complex x=new Complex(3,4);
        Complex y=new Complex(1,1);
        Complex t1=new Complex( );
        Complex t2=new Complex( );
    t1=x.add(y);
    t2=x.sub(y);
        t1.Print();
        t2.Print();
    }
}

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