Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks
类和对象.习题
 
 
 
1、基本概念题:

1.什么叫类?什么叫对象?
    类是相似对象中共同属性和方法的集合体。对象是类的实例。
 
2.对象怎样得到内存空间的?垃圾对象怎样回收的?
    对象的内存空间是在用户需要时,用new运算符创建的。对象也有作用范围,我们把超出作用范围的对象(或称不再被使用的对象)称作垃圾对象。在Java中,收集和释放内存是一个叫做自动垃圾回收线程的责任。自动垃圾回收线程在系统空闲时自动运行,这个线程监视用户程序中所有对象的有效作用范围,当某个对象超出其作用范围时,该线程就对这样的对象做上垃圾对象标识,并在适当的时候一次性回收这些垃圾对象。
 
3.什么叫引用类型?对象是引用类型吗?
    所谓引用类型,是指该类型的标识符表示的是一片内存连续地址的首地址。
    对象和数组一样,也是引用类型。即对象定义后,系统将给对象标识符分配一个内存单元,用于存放实际对象在内存中的存放位置。

4.类的修饰符共有几种?分别是什么?
    类声明的<修饰符>分为访问控制符和类型说明符两部分,分别用来说明该类的访问权限以及该类是否为抽象类或最终类。
    访问控制符:private、public和protected
    类型说明符:abstract和final
5.共有几种形式的变量?这些变量各自的用途是什么?
    变量可分为:
    static:指明该成员变量是一个类成员变量
    final:指明该成员变量是常量
    transient:指明该成员变量是临时变量。transient很少使用。
 
6.成员变量和成员方法的修饰符共有几种?各自的访问权限是什么?
    有private、public和protected三种
    private:修饰符表示该成员变量只能被该类本身访问,任何其他类都不能访问该成员变量。
    protected:修饰符表示该成员变量除可以被该类本身和同一个包的类访问外,还可以被它的子类(包括同一个包中的子类和不同包中的子类)访问。
    public:修饰符表示该成员变量可以被所有类访问。
 
    成员方法相同。

7.同一个包中类的成员(包括成员变量和方法)用什么修饰符修饰,就只可以互相访问?
    private

8.类的成员(包括成员变量和方法)的protected访问权限是什么?
    表示该成员变量除可以被该类本身和同一个包的类访问外,还可以被它的子类(包括同一个包中的子类和不同包中的子类)访问。
 
9.什么叫实例成员变量?什么叫类成员变量?各有什么用途?
    类成员变量就是类中声明的变量,实例成员变量是方法中声明的变量。
    类成员变量可以直接调用,实例成员变量必须通过实例引用,可实现数据封装。
    (自己理解的,不知道对不对)
 
10.什么叫实例方法?什么叫类方法?设计类方法时有什么要求?
    类方法又称静态方法(static method),是不属于特定对象的方法,可以访问静态变量,但不可以直接访问实例变量。
    实例方法是一个特定实例的方法,其执行必须要有一个对象的存在。
    详细信息参见: http://www.cnblogs.com/Ivony/archive/2006/06/30/439377.html
 
11.什么叫方法的重写?构造方法可以重写吗?方法重写在面向对象程序设计中有什么意义?
    所谓方法重写(overloading),是指一个方法名定义了多个方法实现。方法重写时要求,不同的方法,其参数类型或参数个数要有所不同。
    构造方法可以重写。
    其面向对象程序设计中的意义:保证了对象的多样性和灵活性。
   
12.叙述编写和运行带有自定义包Java程序的操作步骤。
    总结编写、运行上述带有自定义包Java程序的操作步骤如下:
    (1)创建文件夹。如在本地计算机的d盘创建文件夹MyPackage(d:\MyPackage)
    (2)在环境变量中添加自定义包的路径。如在autoexec.bat文件的classpath参数中添加d:\(注意:若在Windows98下,则设置完成后要运行一下该批处理文件)
    (3)编译包中类的.java文件。如在DOS下执行命令:javac Date1.java
    (4)把编译成功的.class文件移入包中。如把当前工作路径下的Date1.class文件移动到文件夹d:\MyPackage中
    (5)编译导入包的.java文件。如在DOS下执行命令:javac UseDate.java
    (6)运行导入包的.class文件。如在DOS下执行命令:java UseDate

13.什么叫内部类
    内嵌于另一个类中的类称为内部类。
    当一个类只在某个类中使用,并且不允许除外部类外的其他类访问时,可考虑把该类设计成内部类。
    内部类具有以下特性:
 内部类作为外部类的成员。Java将内部类作为外部类的一个成员,因此内部类可以访问外部类的私有成员变量或方法。
 内部类的类名只能用在外部类和内部类自身中。当外部类引用内部类时,必须给出完整的名称,且内部类的类名不能与外部类的类名相同。
    在实际的Java程序设计中,内部类主要用来实现接口。
 
14.什么叫类的封装性?类的封装性在面向对象程序设计中有什么意义?
    类的封装性是指类把成员变量和方法封装为一个整体,这就划分了模块的界限。
    保证模块正确性的措施则是由信息的隐藏性来实现的
 
 
 
2、程序设计题:
 
15.对于下面设计的类A,哪一个方法是构造方法?
   public class A
   {
   public void A () {}
   public class A() {}
   public static class A () {}
   public static void class A() {}
   }
    public static A()

16.下面哪些main()方法是不正确的?
   public static void main()
   public void static main(String [] args)
   public static void main(String args)
   public static void main(String args[])
    public static void main(String[] args)
 
17.设计一个复数类。要求复数类包括实数和虚数两个成员变量,同时类中应包含复数运算的各种方法。例如方法应包括:两个复数的加、减、乘、除等。复数的格式应该是:实数+虚数。最后,编写一个测试程序进行测试。

18.设计一个日期类,其输出格式是:“月/日/年”或“June 13,1993”。利用构造方法重写技术设计适合上面输出格式的构造方法。类中的输出方法也要利用方法重写技术来满足上述的输出格式。最后,编写一个测试程序来测试所定义的日期类能否实现预定的功能。

19.设计一个分数类。要求分数类包括分子和分母两个成员变量,同时类中应包含分数运算的各种方法。例如方法应包括:两个分数的加、减、乘、除等。分数的格式应该是:分子/分母。最后,编写一个测试程序进行测试。

20.设计一个电视机类。成员变量包括商品编号、商品型号、生产厂家、大小、重量、开关状态等,同时设计一些方法对电视机的状态进行控制。例如方法应包括:开/关电视机、更换频道、提高/减小音量等。要求商品编号要自动生成。
注意:有些成员变量应定义成静态的(static);控制和操纵静态成员变量的方法应是静态的(static)。


21.编写一个基本账户类。成员变量包含有账号、储户姓名和存款余额等。方法有存款和取款等。编写一个测试程序来测试所定义的账户类能否实现预定的功能。


22.设计一个长方形类。成员变量包括长度和宽度。类中除了包含计算周长和面积的方法外,还应该能够用set方法来设置长方形的长度和宽度,以及能够用get方法来获得长方形的长度和宽度。最后,编写一个测试程序来测试所定义的长方形类能否实现预定的功能。
要求:使用自定义包方法。


23.设计一个日期类,其输出格式是:“月/日/年”或“June 13,1993”,并编写一个测试程序来测试所定义的日期类能否实现预定的功能。
要求:把所设计的日期类作为测试类的内部类。


24.设计一个汽车类,其成员变量包括:颜色、品牌、车门、车灯、行驶速度等。其方法包括:打开车门、打开车灯、加速、减速等。可以根据自己对汽车的了解来设计类中的成员变量和方法。在方法中用输出方法名称的方式来表示这个方法已被调用。最后,编写一个测试程序来测试所定义的汽车类能否实现预定的功能。
 
 
 
 
 
 
 
 
 
 
 
 




-The End-

posted on 2008-09-22 15:06 decode360-3 阅读(527) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: