Java编程:抽象方法、接口与包的实现
版权申诉
148 浏览量
更新于2024-07-06
收藏 252KB PPT 举报
"第9章实现抽象图形——接口与包.ppt"
本章主要讲述了Java编程中的抽象方法、抽象类、接口、接口多重继承与实现以及包的概念和使用。以下是详细的知识点总结:
9.1 任务预览
本章的任务是通过设计不同图形类(如圆、半圆、正方形和正方体)来实践抽象方法和接口的使用,以及包的管理,最终实现图形接口的多种实现。
9.2 抽象方法与抽象类
- 抽象方法是一种没有具体实现的方法,只有声明而没有方法体。在Java中,抽象方法的声明前会加上`abstract`关键字,例如:`abstract double calcArea();`
- 含有抽象方法的类称为抽象类,同样需要使用`abstract`关键字声明。抽象类不能实例化,即不能创建对象,主要用于被其他类继承。
- 抽象类可以包含非抽象方法,也可以不包含抽象方法,但含有抽象方法的类必须声明为抽象类。
【例9-1】
```java
abstract class Shape { // 抽象图形类
public abstract double calcArea(); // 抽象面积方法
public abstract double calcGirth(); // 抽象周长方法
}
class Circle extends Shape { // 继承抽象图形类的圆类
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double calcArea() {
return Math.PI * Math.pow(radius, 2); // 圆面积实现
}
public double calcGirth() {
return 2 * Math.PI * radius; // 圆周长实现
}
}
```
9.3 接口类型
- `interface`关键字用于定义接口,它是一组抽象方法的集合,代表一种行为规范。
- 接口中的所有方法默认都是抽象的和公共的(public abstract)。
- 类可以通过`implements`关键字实现一个或多个接口,并提供接口中所有方法的具体实现。
9.4 接口多重继承与实现
- Java允许接口之间实现多重继承,即一个接口可以继承多个接口,使用逗号分隔。
- 类可以实现多个接口,这使得类可以具有多种行为特征。
9.5 包
- 包(package)是Java的一种命名空间管理机制,用于组织类和接口,避免命名冲突。
- 使用`package`关键字定义包,如`package com.example.graphics;`。
- 使用`import`导入其他包中的类,以便在代码中直接引用,如`import com.example.graphics.Shape;`。
- 包还可以帮助模块化代码,提高代码的可维护性和可复用性。
本章实训9:实现图形接口
- 设计一个图形接口(如`com.example.graphics.Graphic`),包含面积和周长方法。
- 在不同的包中实现这个接口,比如`com.example.circles.Circle`、`com.example.halfrings.HalfCircle`、`com.example.squares.Square`和`com.example.cuboids.Cuboid`。
- 编写一个主类,如`com.example.demo.Main`,创建不同图形对象并计算其面积和周长。
通过以上内容的学习,开发者将能够熟练地在Java程序中运用抽象、接口和包,实现模块化的代码组织和复用。
2022-01-08 上传
2021-11-17 上传
2021-10-04 上传
2021-10-01 上传
2021-10-04 上传
2021-10-05 上传
2022-01-03 上传
2021-11-13 上传
121 浏览量
等天晴i
- 粉丝: 5984
- 资源: 10万+
最新资源
- asp.net购物车实现的源码
- 玩转SVN版本控制系统
- Webtop_2.0_Admin_Guide_1.1.pdf
- JSP2_0技术手册
- 非常珍贵的云计算资料
- Linux Shell Scripting With Bash.pdf
- makefile的学习入门的书籍,对于编写makefile的帮助较大。
- 最新WAP资料大全-WAP编程完全版
- 2008-9-24 联通研究
- SD_physical_specification_2.0
- vxworks_programmers_guide5.5.pdf
- 系统架构师需要具备的水平
- selinux-selinux
- struct spring hibernate面试题
- MySQL 5.0 常用命令
- QTP自动化工具使用技术