Java面向对象编程是Java语言的核心特性之一,它允许我们通过对象和类来组织代码,实现模块化和复用。在面向对象编程中,权限修饰符是控制类成员(属性和方法)访问范围的关键元素,而方法的重写则是实现多态性的重要方式。下面将详细解释这两种概念。 一、四种权限修饰 1. **private(私有)**:私有成员只能在定义它们的类内部被访问。这是最严格的访问级别,不能被同一包内的其他类或者不同包的任何类访问。 2. **default(默认)**:没有明确指定的权限修饰符,也称为包级私有。这种成员只对同一包内的类可见。 3. **protected(受保护的)**:受保护的成员在本类、同一包的类以及不同包的子类中可见。这种权限用于保护类的内部细节,同时允许子类进行必要的访问。 4. **public(公共)**:公共成员对所有类都是可见的,不论它们在哪个包中。 实际开发中,`public` 和 `private` 是最常见的权限修饰符,`private` 通常用于属性以实现封装,而 `public` 多用于提供公共接口。如果没有指定权限修饰符,那么默认就是默认权限,主要用于包内通信。`protected` 则用于需要子类访问但又不想暴露给包外类的情况。 二、测试四种权限修饰 测试这些权限修饰符时,通常会创建多个类来模拟不同场景,如同一类、同一包、不同包的子类以及不同包的非子类。例如,创建两个包 `test1` 和 `test2`,分别在其中创建类 `Order` 和 `OrderTest`,然后尝试访问 `Order` 类中的不同权限的属性和方法。测试结果显示,`private` 成员无法在类外部访问,而 `default`、`protected` 和 `public` 成员则根据权限规则有不同的访问限制。 三、方法的重写(overwrite / override) 1. **引入**:方法的重写发生在子类中,当子类继承父类并需要改变或扩展父类的方法行为时。重写的方法必须与被重写的方法有相同的返回类型、名称和参数列表。 2. **举例**:可以通过具体例子来演示如何重写方法。例如,一个简单的 `Animal` 类有一个 `sound()` 方法,子类 `Dog` 和 `Cat` 可以重写这个方法,使得 `Dog` 的 `sound()` 输出 "Woof!",`Cat` 的 `sound()` 输出 "Meow!"。 3. **方法重写应遵循的规则**: - 重写的方法必须与被重写的方法具有相同的方法名、参数列表和返回类型。 - 重写的方法的访问权限不能更低(更私有),但可以更高。 - 重写的方法不能声明为 `static` 或 `final`。 - 重写的方法不能抛出更大的异常,除非捕获并重新抛出。 4. **面试题**:面试中可能会遇到关于重写的问题,如询问重写与重载的区别,或者设计一个场景来考察对重写的理解。 四、方法的重写--练习题 为了巩固理解和应用,可以设计一些练习题,例如创建不同类层次结构,要求在子类中正确重写特定方法,并验证其行为是否符合预期。 理解并熟练运用Java的四种权限修饰符和方法的重写是成为专业Java开发者的基础。它们不仅关乎代码的可读性和安全性,也是实现面向对象设计原则,如封装、继承和多态的关键工具。在实际项目中,合理地选择权限修饰符和适时地重写方法,能提高代码的灵活性和可维护性。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![删除我这段后缀就变可看视频](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/88495098/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/88495098/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/88495098/bg4.jpg)
剩余27页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/b99bc5de664b4271b19dd436b49d9d23_m0_55746113.jpg!1)
- 粉丝: 6w+
- 资源: 130
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)