当前位置: 首页 > article >正文

【Java】继承性【主线学习笔记】

文章目录

  • 前言
  • 面向对象的特征之一:继承性
    • 1、继承性的好处
    • 2、继承性的基础概念
    • 3、格式书写
    • 4、默认父类
    • 5、权限修饰符
    • 6、补充说明
  • 下一篇 继承性-方法的重写


前言

Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受开发者喜爱。在接下来的学习过程中,我将记录学习过程中的基础语法、框架和实践技巧等,分享学习心得,对自己学习过程进行整理和总结,也希望能为其他学习Java的朋友提供一些帮助和参考。


面向对象的特征之一:继承性

继承性是面向对象编程(OOP)的核心特性之一,指的是一个类可以继承另一个类的属性和方法,从而在已有类的基础上创建新的类。继承使得子类可以复用父类的代码,同时也可以根据需要对父类的行为进行扩展或修改。

1、继承性的好处

代码重用性:通过继承,子类可以直接使用父类中的属性和方法,避免重复代码的编写,从而提高了开发效率。减少冗余,提高复用

扩展性:子类不仅可以继承父类的功能,还可以新增或重写父类的方法,以满足特定需求。便于程序功能的扩展

层次结构:继承使得类之间形成了一种层次结构,反映了实际问题中的“是一个”(is-a)关系,这种关系有助于开发者更好地理解和组织代码。为多态的使用提供前提

2、继承性的基础概念

类A:父类、superclass、超类、基类
类B:子类、subclass 、派生类

3、格式书写

在Java中,继承通过extends关键字来实现。子类通过extends声明继承某个父类,继承格式如下:

class ParentClass {
    // 父类中的属性和方法
}

class ChildClass extends ParentClass {
    // 子类中的属性和方法
}

具体关于继承性的举例可以查看我的另一篇文章,点击查看>《【Java】继承性的格式》

4、默认父类

在Java中,所有的类默认继承自一个名为Object的类,这就是所谓的“默认父类”。即使你没有显式地在类定义中使用extends关键字来继承任何类,你的类仍然会隐式地继承自Object类。Object类位于java.lang包中。

5、权限修饰符

java中有4种权限修饰符,它们控制了类的可见性和继承的行为。
这四种访问修饰符是:

  • public(公共访问权限):成员可以被任何其他类访问,无论这些类位于同一个包中还是不同包中。这是最开放的访问级别,通常用于需要对外暴露的接口和常量。
  • protected(受保护访问权限):成员可以被同一个包中的类或继承该类的子类访问。适合用于希望在子类中访问父类成员,但不希望它们被其他不相关的类访问的情况。
  • default(包级访问权限,也叫“包私有”):成员可以被同一个包中的类访问,但不能被其他包中的类访问。
  • private(私有访问权限):成员只能在声明它的类内部访问,不能在类的外部(包括子类)访问。这是最严格的访问级别,用于完全隐藏类的实现细节。
修饰符当前类同包内的类子类(不同包)其他包
public
protected×
default××
private×××

权限修饰符的正确使用可以确保类的封装性,限制不必要的访问,同时提供足够的灵活性来实现继承和扩展。

6、补充说明

  • Java 支持多层继承(也称为多级继承),但不支持多重继承。多层继承是指一个类继承自另一个类,而这个类又继承自另一个类,依此类推。每个子类可以继承其父类中的属性和方法。关于多层继承的例子可看我的另一篇文章,点击查看>《【java】类的多层继承》
  • java中的子父类的概念是相对的。
  • java中一个父类可以声明多个子类。但是一个子类只能有一个父类,这是java的单继承性。

下一篇 继承性-方法的重写

点击阅读->《继承性-方法的重写》


http://www.kler.cn/a/288213.html

相关文章:

  • 24.11.13 机器学习 特征降维(主成份分析) KNN算法 交叉验证(K-Fold) 超参数搜索
  • linux病毒编写+vim shell编程
  • ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决
  • ⾃动化运维利器Ansible-基础
  • Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍
  • JVM 中的完整 GC 流程
  • React 入门第九天:与后端API的集成与数据管理
  • MySQL 使用C语言链接
  • 力扣238题详解:除自身以外数组的乘积的多种解法与模拟面试问答
  • 【Qt】对话框
  • K8s系列之:解释Kubernetes Operators
  • 71. 简化路径算法实现详解(goalng版)
  • 快速了解Rust 的数据分析库Polars
  • 常见概念 -- WSS光层环回
  • Django Admin优化查询
  • 金融知识普及月答题活动
  • 【Linux】进程状态和进程优先级
  • 【实战教程】用 Next.js 和 shadcn-ui 打造现代博客平台
  • AR 眼镜之-系统通知定制(通知弹窗)-实现方案
  • Leetcode3249. 统计好节点的数目
  • 驾驭Python与MySQL的桥梁:pymysql的神秘面纱
  • FlowUs 小程序:开启高效之旅,订阅内容超精彩
  • csrf的详解
  • 产业园区智慧招商解决方案
  • 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月3日,星期二
  • P1.25/P1.538/P1.86COB/GOB超微小间距LED显示屏替换SMD时代到来