面向对象编程是Java的核心特性,本篇主要讲解了继承、包和访问权限的概念以及相关知识点。我们来看一下继承。 1. 继承的概念 继承是面向对象编程的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。这样做的好处在于代码复用和类的层次结构构建。子类不仅可以拥有父类的所有非私有成员,还可以增加自己的特性和功能。 2. 成员方法与继承 - 如果子类和父类的成员方法名称不相同,那么调用时会优先查找子类的方法,如果子类没有,则调用父类的方法。 - 当子类和父类有同名的方法时,称为方法重写(Override)。子类可以重新定义父类的方法,提供不同的实现。 3. 方法重写(Override) 方法重写是子类对父类方法的一种扩展或修正。重写规则包括: - 方法名必须相同。 - 参数列表必须相同。 - 子类重写的方法访问权限需大于等于父类方法的访问权限。 - 返回值类型必须是父类方法的返回值类型或其子类类型。 - 子类不能抛出比父类更多的异常。 4. 重载(Overload) 重载是指在同一个类中,方法名相同但参数列表不同的方法。参数列表包括参数的数量、类型和顺序。与方法重写不同,重载与返回值类型和访问权限无关。 5. `super` 关键字 `super` 关键字用于在子类中引用父类的成员。它可以用来调用父类的非私有成员变量和构造方法。在子类构造方法中,`super()` 必须作为第一条语句,用来调用父类的构造方法。 6. 继承中的内存图 在继承关系中,如果子类和父类有同名成员变量,子类的对象内存中会有两个独立的变量,分别对应父类和子类。 7. 构造方法的特殊性 构造方法在创建对象时自动调用,且只能被调用一次。子类构造方法执行前必须先调用父类的构造方法,可以通过`super(xxx)`指定调用父类的哪个构造方法。 8. `instanceof` 关键字 `instanceof` 是一个运算符,用于判断一个对象是否属于某个类或其子类(或实现了某个接口)。在示例中,`p instanceof Person` 判断对象 `p` 是否是 `Person` 类或其子类的实例。 通过以上知识点的学习,我们可以更好地理解和运用Java中的面向对象特性,如继承、方法重写、重载和访问权限控制,从而提高代码的可维护性和复用性。这些基础知识对于理解更复杂的Java编程概念和设计模式至关重要。
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助