Java接口、继承、多态与包详解:提高代码灵活性

需积分: 9 1 下载量 140 浏览量 更新于2024-09-03 收藏 211KB DOCX 举报
Java继承与多态笔记 在Java编程中,接口和继承是构建面向对象程序的重要概念,它们共同支持了代码的复用和灵活性。接口是Java中的一个核心特性,它是一种特殊的抽象类,只包含抽象方法(没有方法体)和常量。接口强制要求所有实现它的类必须提供这些方法的实现,增强了代码的可扩展性。通过接口,我们可以定义一组规范,让子类去实现,这有助于维护清晰的职责分离和设计模式。 Java包(Package)是组织和管理类、接口以及其他相关元素的一种机制,它提供了一个命名空间,避免类名冲突。包内类的访问权限受到控制,不同包之间的类需要通过`import`语句导入才能使用。Java中有四种访问修饰符:`private`、`default`(即包内访问)、`protected`和`public`,它们决定了类成员的可见性和访问范围。 继承是Java中的基石,它允许子类继承父类的属性和行为。Java支持单继承,即一个类仅可以从一个父类继承,但通过接口,可以实现类似多继承的效果。类的继承结构采用`class 父类 { } class 子类 extends 父类 { }`的形式,`super`关键字用于访问父类的成员,而`this`关键字则表示当前对象自身。 多态是面向对象编程的基石,它体现在两种形式:方法重载和方法重写。方法重载是指在同一类中,可以定义具有相同名称但参数列表不同的方法。重写则是在子类中提供对父类方法的实现,以实现更具体的行为。使用父类引用调用子类对象的方法体现了多态,但只能访问父类定义的方法和变量。方法调用时,Java虚拟机根据实际传入的参数类型动态决定调用哪个方法,这是实现多态的关键。 总结起来,继承、接口、包以及访问修饰符和多态是Java面向对象编程的核心要素,理解并熟练运用它们对于构建高效、灵活的软件系统至关重要。通过掌握这些概念,开发者可以创建出可扩展、易于维护的代码结构,提高代码的复用性和可读性。
2018-04-20 上传
某公司雇员(Employee)包括经理(Manager),技术人员(Technician)和销售员(Salesman)。开发部经理(DeveloperManger),既是经理也是技术人员。销售部经理(SalesManager),既是经理也是销售员。 以Employee类为虚基类派生出Manager,Technician和Salesman类;再进一步派生出Developermanager和Salesmanager类。 Employee类的属性包括姓名、职工号、工资级别,月薪(实发基本工资加业绩工资)。操作包括月薪计算函数(pay()),该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。 Technician类派生的属性有每小时附加酬金和当月工作时数,及研究完成进度系数。业绩工资为三者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。 Salesman类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。 Manager类派生属性有固定奖金额和业绩系数,业绩工资为两者之积。工资总额也为基本工资加业绩工资。 而DeveloperManager类,pay()函数是将作为经理和作为技术人员业绩工资之和的一半作为业绩工资。 SalesManager类,pay()函数则是经理的固定奖金额的一半,加上部门总销售额与提成比例之积,这是业绩工资。 编程实现工资管理。特别注意pay()的定义和调用方法:先用同名覆盖,再用运行时多态。