JavaSE_day05面向对象_代码块_继承

本文详细介绍了Java中的代码块,包括局部代码块、构造代码块及静态代码块的作用与特性,并阐述了它们之间的执行顺序。同时,文章还探讨了Java中的继承机制,包括关键字extends的使用方式、继承的特点与注意事项。

代码块:

           在Java语言中用{}括起来的内容,称为代码块。

     代码块分类:

          局部代码块:在方法内,作用是限制变量的生命周期。

          构造代码块:在类的成员位置,每次在执行构造方法之前,如果当前类中有构造代码块,则优先执行代码块,在执行构造方法。作用:如果多个类的构造方法有共同的内容,那么就可以抽取出来,放到构造代码块中

            静态代码块:在类的成员位置,在{}外边被static修饰,静态代码块。

                                  优先于对象存在。  特点:只执行一次。优先执行。

构造代码块,静态代码块,构造方法之间的优先级关系:

              静态代码块(只执行一次)>构造代码块>构造方法。

static关键字特点:

          随着类的加载而加载(static和类有关)

         1)被static修饰的方法/变量,他都是优先于对象存在的。

         2)static 可以被多个对象共享(犹如饮水机的水被多人共享)

         3)被static修饰的变量/方法可以直接用类名调用。

         注意事项:static关键字:  静态只能访问静态,(动态也可以访问静态)

获取一个随机数:

        double d=Math.random();//获取的是0.01~1之间的小数

使用强制类型转换,将0.01~1的范围扩大100倍。     int ranNumber=(int)(Math.random*100+1)

继承:

       关键字extends,表示正在构造的新类派生于一个已经存在的类已存在的类成为超类或者父类。而当前构造的新类成为子类或者派生类。

    extends特点:a)在Java中只支持单继承不支持多继承,但是支持多层继承。

                          b1)子类继承父类的时候,如果子类的成员方法名称和父类方法名称不一致时,分别调用就行。

                           b2)当子类的成员方法名称与父类方法名称一致时,

                                  先在子类的局部位置找,如果有就直接输出。

                                  子类的局部位置没有的话,在子类的成员位置找,有则直接输出。

                                  子类的成员位置如果没有,则直接去父类的成员位置找,有就直接输出,没有直接报错。

    extends注意事项:

        1)子类只能继承父类非私有的部分(成员变量和成员方法),

         2)子类不能继承父类的构造方法,只能通过super间接访问父类的构造方法

                    子类继承父类的时候,通过super间接访问父类的构造方法:

                                        this:当前类的对象。

                                        super:代表父类的对象(带有父类空间标识)

             this与super的用法:

                      成员变量:

                                     this.成员变量

                                     super.成员变量

                     成员方法:

                                     无参:    this.成员方法();

                                                    super.成员方法();

                                     有参:    this.成员方法(“····”) 

                                                   super.成员方法(“····”)

                  子类继承父类的时候,子类的所有构造方法都直接默认访问父类的无参构造。

        3)不要为了部分功能去使用继承,因为可能继承的父类的某个方法对子类没有用

          4)使用继承,就要体现出“is   a”的关系,

如果子类继承父类的过程中,父类的无参构造没有给出,该如何解决?

            结局方案:

                   1)在父类中手动加入无参构造。

                   2)在子类的构造方法中通过super(有参)去间接访问父类的有参构造。

                   3)在子类的无参构造方法中,先去访问本类的有参构造,通过this传参,然后通过本类的有参构造方法去间接访问父类的有参构造super(传参)。

 

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值