Java 实现跨包图书管理系统:子类继承父类并解析 protected 访问限制
1. 首先,需要在book包中定义一个父类Book。代码如下: ``` package book; public class Book { protected String title; public void setTitle(String title) { this.title = title; } public void displayTitle() { System.out.println("Book Title: " + title); } } ``` 2. 接下来,在library包中定义一个子类Ebook,并继承自Book。代码如下: ``` package library; import book.Book; public class Ebook extends Book { private int filesize; public void modifyTitle(String title) { setTitle(title); } public void setFilesize(int filesize) { this.filesize = filesize; } public void displayInfo() { System.out.println("Book Title: " + title); System.out.println("File Size: " + filesize + " MB"); } } ``` 3. 在library包中创建一个Main类,在该类中创建一个Ebook对象,并调用相应的方法显示书籍信息。代码如下: ``` package library; public class Main { public static void main(String[] args) { Ebook ebook = new Ebook(); ebook.displayInfo(); // 显示修改前的书名和大小 ebook.modifyTitle("New Title"); // 修改书名 ebook.setFilesize(10); // 设置电子书大小 ebook.displayInfo(); // 显示修改后的书名和大小 } } ``` 4. 尝试在Main类中直接访问title变量会出现编译错误。这是因为title变量在Book类中被声明为protected,它的访问权限仅限于子类和同包的其他类。在Main类中,由于Book类和Main类不在同一包中,因此无法直接访问title变量。要访问title变量,可以通过调用父类的方法来获取或修改它。 ######[AI写代码神器 | 1010点数解答 | 2024-10-12 08:30:10]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1220
- 补全代码:深入探究 Java 类继承中 this 与 super 的应用(阿里通义 | 379点数解答 | 2025-04-17 15:23:25)169
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)375
- Java开发揭秘:原子操作全解析及Concurrency API原子子类大汇总 (百度文心 | 231点数解答 | 2023-11-09 17:24:39)274
- 工程师必备!10 种工程日常易用管理工具大揭秘(百度文心 | 346点数解答 | 2023-11-09 18:26:09)306
- 1 秒 300 次访问,系统压力究竟大不大?关键因素全揭秘!(讯飞星火 | 272点数解答 | 2024-02-04 16:02:32)397
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)303
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)324
- Java 实现交通工具类继承:从 Vehicles 到 Car 的完整示例(字节豆包 | 289点数解答 | 2024-09-18 16:16:54)251
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)345