自学Java第十二课
今天学习了Java语言中类和对象中的内存的分配
student s1(栈内存)=new student()(堆内存),栈内存会产生一个地址,堆内存的地址和栈内存相同。
两个对象指向相同时,一个对象修改了堆内存的数据,另一个对象访问时值会改变。
成员变量和局部变量
成员变量:类中方法外的变量。 局部变量:方法中的变量
两变量之间的区别:①类中的位置不同;
②内存中的位置不同,成员变量在堆内存中,局部变量在栈内存中。
③周期不同,成员变量与对象共存亡,局部变量与方法共存亡。
④初始值不同,成员变量有默认初始值,局部变量没有默认初始值。
封装
private关键字 权限修饰符,修饰成员,其修饰的成员只能在本类中使用。使用private关键字之后,对变量不能直接赋值,而是利用方法进行赋值。
this
(1)this修饰的变量用于指代成员变量。方法形参与成员变量同名时,加this来区分开成员变量。
(2)当形参与成员变量相同时使用this,结局局部变量隐藏成员变量的问题。
(3)方法被那个对象引用,this代表那个对象。
封装的原则:将类的某些信息隐藏在类的内部,不允许外界程序直接访问,通过类提供方法来实现对隐藏信息的操作和访问。例如:getname();
好处:①用方法来控制成员变量的操作,提高代码的安全性;
②把代码进行封装,提高代码的复用性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署