ailCheck() of Salary"); System.out.println("Mailing a check for $" + getSalary() + " to " + super.getName() + " " + super.getAddress()); } public void setSalary(double salary) { this.salary = salary; } public double getSalary() { return salary; } public double computePay() { System.out.println("Inside Salary computePay"); return salary; }}在这个例子中,Salary类继承了Employee类,并且提供了computePay()的具体实现。在Salary类中,我们重写了父类的mailCheck()方法,使其更具体。同时,Salary类添加了一个新的成员变量salary和相关的方法setSalary()和getSalary()。这样,Salary类就可以实例化并使用了。Java 抽象类与接口的区别抽象类和接口都是用于实现多态性,但它们之间存在显著的区别: 1. **抽象方法**:抽象类可以包含抽象方法(没有具体实现的方法),而接口中的所有方法默认都是抽象的。 2. **非抽象方法**:抽象类可以拥有非抽象方法(有具体实现的方法),而接口中不能有任何实现。 3. **变量声明**:抽象类可以有实例变量(成员变量),而接口只能有常量(final static)。 4. **继承关系**:一个类只能继承一个抽象类,但可以实现多个接口。这使得接口更适合用来实现“多重继承”的效果。 5. **访问修饰符**:抽象类的访问修饰符可以是public、protected或包访问,而接口的访问修饰符只能是public。 6. **强制实现**:如果一个类继承自抽象类,它只需要实现抽象类中未实现的抽象方法;而如果一个类实现接口,它必须实现接口中的所有方法。 7. **构造器**:抽象类可以有构造器,用于初始化实例变量;接口不能有构造器。 总结来说,抽象类更像是一个蓝图,提供了部分实现,而接口更像是一种契约,规定了实现接口的类必须具备的行为。在设计系统时,开发者可以根据需求选择使用抽象类还是接口,或者结合两者,以达到最佳的设计效果。在Java中,抽象类和接口的合理使用可以帮助我们构建更加灵活和可扩展的代码结构。
- 粉丝: 7
- 资源: 971
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助