Java 实现可展示多运营商广告词的广告牌:代码解析与注意要点
以下是一个用 Java 实现的简单广告牌程序,该广告牌可以展示不同运营商的广告词。 ```java // 定义一个广告接口,用于规范广告的行为 interface Advertisement { // 展示广告的方法 String displayAd(); } // 中国移动的广告类,实现了 Advertisement 接口 class ChinaMobileAd implements Advertisement { @Override public String displayAd() { return "中国移动,沟通从心开始。"; } } // 中国联通的广告类,实现了 Advertisement 接口 class ChinaUnicomAd implements Advertisement { @Override public String displayAd() { return "中国联通,让一切自由联通。"; } } // 中国电信的广告类,实现了 Advertisement 接口 class ChinaTelecomAd implements Advertisement { @Override public String displayAd() { return "中国电信,世界触手可及。"; } } // 广告牌类,用于展示广告 class Billboard { private Advertisement ad; // 设置当前要展示的广告 public void setAd(Advertisement ad) { this.ad = ad; } // 展示当前广告的广告词 public void showAd() { if (ad != null) { System.out.println(ad.displayAd()); } else { System.out.println("暂无广告可展示。"); } } } // 主类,用于测试广告牌程序 public class BillboardDemo { public static void main(String[] args) { // 创建广告牌对象 Billboard billboard = new Billboard(); // 创建中国移动的广告对象 Advertisement chinaMobileAd = new ChinaMobileAd(); // 设置广告牌展示中国移动的广告 billboard.setAd(chinaMobileAd); // 展示广告 billboard.showAd(); // 创建中国联通的广告对象 Advertisement chinaUnicomAd = new ChinaUnicomAd(); // 设置广告牌展示中国联通的广告 billboard.setAd(chinaUnicomAd); // 展示广告 billboard.showAd(); // 创建中国电信的广告对象 Advertisement chinaTelecomAd = new ChinaTelecomAd(); // 设置广告牌展示中国电信的广告 billboard.setAd(chinaTelecomAd); // 展示广告 billboard.showAd(); } } ``` 额外需要注意的逻辑点 1. 当使用接口时,要确保实现类正确实现了接口中的所有方法,否则会导致编译错误。 2. 在`Billboard`类的`showAd`方法中,要进行`ad`是否为`null`的判断,避免出现空指针异常。 3. 如果需要添加更多运营商的广告,只需要创建新的类实现`Advertisement`接口,并在主类中进行相应的设置即可。 ######[AI写代码神器 | 656点数解答 | 2025-06-18 22:55:59]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)422
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)324
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1201
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)363
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)208
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)297
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)318
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)334
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)333
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)488
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)373
- Java实现Student类:含构造、方法及年龄判定(字节豆包 | 464点数解答 | 2024-11-19 15:55:26)396