周玉川:Java编程作业实践与类构造器详解

需积分: 0 0 下载量 47 浏览量 更新于2024-06-30 收藏 28KB DOCX 举报
本资源是一份关于Java编程的作业,主要涵盖了第四章至第六章的内容,由周玉川同学于2017年完成。作业内容涉及类和构造器的使用、对象初始化、过载构造函数、静态与实例成员的理解、抽象类与继承、多态性以及数组操作。 第四章:构造器和对象初始化 - 学生类设计:创建一个名为"Student"的类,包含学号、姓名、性别、年龄和爱好(枚举类型)等属性。作业要求实现构造函数的重载,即提供不同参数类型的构造方法,并在构造时打印接收的参数。 - 对象数组初始化:创建一个Student对象的数组,并使用两种方式初始化:一是通过构造函数直接初始化,二是创建对象后将其赋值给数组。 第五章:面向对象原则的应用 - 超类与子类关系:创建一个拥有非默认构造器的超类,然后创建一个子类,该子类拥有默认和非默认的构造器。要求在子类构造器中调用超类构造器,体现继承的使用。 - 抽象类与多态:定义一个抽象学生类,包含学生信息和print方法。研究生类和本科生类作为子类,覆盖超类的print方法,实现通过超类引用进行多态操作。 第六章:集合和数组操作 - 集合框架应用:基于学生对象,扩展P126-例6.3和P127-例6.4,实现一个完整的数据结构,如列表或数组,用于存储和操作学生对象。 部分代码分析 - 在"Cups"类中,静态成员变量cup1和cup2在静态初始化块中创建,这意味着它们在类加载时就初始化。而"Cups"类的构造方法"Cups()"不会自动调用,需要通过实例化对象来触发。 - 在"ExplicitStatic"类的main方法中,试图直接调用静态成员变量cups1,但因为它们是Cups类的实例,而非静态对象,所以会抛出错误。正确的做法是实例化Cups类并调用其方法。 这份作业涵盖了基础的Java语法和面向对象编程的核心概念,旨在巩固对类、构造器、继承、多态性和集合操作的理解。完成这些任务将有助于提升编写复杂程序的能力,以及熟练运用面向对象设计模式。