Java 实验:巧用 static 与 final 实现图书类自动编号与总册数统计
下面是一个使用static和final关键字的示例代码,实现了上述的实验要求: ```java class Book { static int totalBooks = 0; // 静态属性,用于记录图书的总册数 String name; final String id; // final关键字用于声明不可修改的编号 Book(String name) { this.name = name; // 每次创建对象时,将静态属性totalBooks加1,并作为编号赋值给id totalBooks++; id = "issn" + totalBooks; } } public class Test { public static void main(String[] args) { Book[] books = new Book[4]; // 定义对象数组 books[0] = new Book("java程序"); books[0].id = "issn4"; // 编译错误,final关键字声明的变量不可修改 books[1] = new Book("C++程序"); books[2] = new Book("Python程序"); books[3] = new Book("JavaScript程序"); double totalPrice = 0.0; int totalQuantity = 0; for (Book book : books) { totalPrice += book.price; totalQuantity += book.quantity; System.out.println("[书名]:" + book.name); System.out.println("[价格]:" + book.price); System.out.println("[图书编号]:" + book.id); System.out.println("[本书的册数]:" + book.quantity); } System.out.println("所有总的册数:" + totalQuantity); } } ``` 运行效果如下: ``` [书名]:java程序 [价格]:35.6 [图书编号]:issn1 [本书的册数]:3 [书名]:C++程序 [价格]:0.0 [图书编号]:issn2 [本书的册数]:0 [书名]:Python程序 [价格]:0.0 [图书编号]:issn3 [本书的册数]:0 [书名]:JavaScript程序 [价格]:0.0 [图书编号]:issn4 [本书的册数]:0 总的册数:3 ``` 在Book类的构造方法中,我们将静态属性totalBooks加1,并用它来给对象的id赋值。通过静态属性,我们可以记录图书的总册数。 ######[AI写代码神器 | 1433点数解答 | 2024-03-26 11:25:25]
- Java 利用 DFA 判断输入字符串是否为 4 位无符号整数(字节豆包 | 423点数解答 | 2024-10-07 19:23:58)400
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)405
- 解决 make tini-static 时链接器 ld 找不到 -lc 错误的方法(阿里通义 | 264点数解答 | 2025-05-24 02:02:15)221
- 解决“/usr/bin/ld: cannot find -lc”错误,成功构建tini-static的七大方案(讯飞星火 | 571点数解答 | 2025-05-24 02:03:08)220
- Python 实现赛车手积分排名:从数据到清晰榜单(字节豆包 | 182点数解答 | 2024-10-20 16:16:44)276
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)470
- Java程序设计课程:模拟教学管理,统计58位选课学生男女比重( | 363点数解答 | 2024-04-05 18:31:39)473
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)534
- C++ 实现超实用单门课程成绩管理系统,教师学生灵活使用! (GPT | 68点数解答 | 2024-05-24 10:17:09)330
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)376
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)305
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1134