构造函数

本文深入解析Java构造函数的内存加载过程、与普通函数的区别、使用细节及如何在创建对象时初始化成员变量。涵盖构造函数调用规则、权限修饰符的影响及重载特性。

Day07_SHJavaTraing_4-11-2017

构造函数
1.构造函数内存加载的过程
(记住:只要创建对象就一定需要调用构造函数,只有等构造函数执行完毕弹栈后,堆内存中的对象才算创建完毕。)
    实例:有一个Person类, 创建Person 对象new Person()
        ①首先会将main方法压入栈中,执行main方法中的 new Person(23,"张三");
        ②在堆内存中分配一片区域,用来存放创建的Person对象,这片内存区域会有属于自己的内存地址(0x88)。然后给成员变量进行默认初始化(name=null,age=0)。
        ③执行构造方法中的代码(age = a ; name = nm;),将变量a对应的23赋值给age,将变量nm对应的”张三赋值给name,这段代码执行结束后,成员变量age和name的值已经改变。执行结束之后构造方法弹栈,Person对象创建完成。将Person对象的内存地址0x88赋值给p2。
2.构造函数和一般函数的区别
    2.1从书写格式上看:
        ①构造函数:没有返回值类型,连void都不能写;构造函数的函数名必须和类名一样;不能用static关键字修饰
        ②一般函数:必须有一个返回值类型(是和构造函数最主要的区别);一般函数名不要和类名一样;可以用static修饰,也可以不要
    2.2从调用方式上看:
        ①构造函数:创建对象时由JVM调用的;或者this() super() 语句调用;一般函数不能调用构造函数
        ②一般函数:需要对象调用或者静态方法直接调用静态方法;构造函数里面也可以调用一般函数
    2.3从作用上看:
        ①构造函数:主要用来在创建对象的时候,给对象的成员变量初始化
        ②一般函数:实现某个具体功能
    2.4从执行上看:
        ①构造函数:在对象创建时就执行了,而且只执行一次。
        ②一般函数:在对象创建后,需要使用时才被对象调用,并可以被多次调用。
3.构造函数的使用细节    
    3.1被private修饰
        构造方法是可以被private修饰的,作用:其他程序无法创建该类的对象。
    3.2构造函数和一般函数的调用
        ①一般函数不能调用构造函数
        ②构造函数能调用一般函数
        ③构造函数间能互相调用
            a.)不能通过函数名调用,必须通过this关键字调用
            b.)this语句必须写在构造函数的第1行
            c.)构造函数之间相互调用,不能出现递归调用
    3.3一个类中构造方法的个数
        一个类中可以有多个构造方法,多个构造方法是以重载的形式存在的

转载于:https://www.cnblogs.com/EzraOholiabXue/p/Day07_SHJavaTraing_4-11-2017.html

内容概要:本文围绕“融合模拟退火和自适应变异的混沌鲸鱼优化算法(AAMCWOA)”展开研究,提出一种创新的智能优化算法,通过引入混沌初始化、模拟退火机制和自适应变异策略,有效提升传统鲸鱼优化算法的收敛速度与全局搜索能力,避免陷入局部最优。该算法在MATLAB平台上实现,并应用于RBF神经网络的参数优化与分类预测,验证了其在复杂非线性问题中的优越性能。文档还附带14页算法原理解析,深入阐述各改进模块的设计思路与数学模型。此外,文中列举了大量相关科研方向与应用场景,涵盖信号处理、路径规划、电力系统、故障诊断、机器学习等多个领域,展示了该算法的广泛适用性。; 适合人群:具备一定编程基础和优【创新SCI算法】AAMCWOA融合模拟退火和自适应变异的混沌鲸鱼优化算法研究(Matlab代码实现)化算法背景,从事智能算法研究或工程优化应用的研究生、科研人员及工程技术人员,尤其适合致力于智能计算、人工智能与MATLAB仿真的1-3年经验研究人员。; 使用场景及目标:①用于解决复杂函数优化、神经网络参数调优、分类预测等科研问题;②作为SCI论文复现与算法创新的基础工具,支撑高水平学术研究;③结合MATLAB代码实现,快速验证算法有效性并拓展至实际工程场景。; 阅读建议:建议结合提供的算法原理详解文档逐模块理解AAMCWOA的实现逻辑,通过调试MATLAB代码掌握参数设置与性能评估方法,并尝试将其迁移至其他优化任务中进行对比实验,以深化对智能优化算法设计思想的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值