Java学习第八天
一、今天学了什么
1.封装性的体现:
(1)将类的属性私有化,同时,提供公共的方法来获取(get)和设置(set)该属性的值;
(2)不对外暴露私有的方法;
(3)单例模式(后续学习)。
2.对权限修饰的理解:
权限从小到大:private、缺省(default)、protected、public
pubic、protected、private置于类成员的定义之前
注意:对class的权限修饰只可以用public和default(缺省)。
public类可以在任何地方被访问。
default类只可被同一包内的类访问。
二、出现的问题:
1.
报错:
void 对于showPerson是无效变量
解决方法:将主方法中所有对PersonTest类声明和初始化的部分放到PersonTest类中。
2.静态方法访问非静态成员的问题:
问题原因:对于static修饰的方法而言,可以使用类来直接调用该方法,如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以,static修饰的方法中不能使用this 引用。由于static修饰的方法不能使用this 引用,所以static修饰的方法不能访问不使用static修饰的普通成员,因此Java语法规定:静态成员不能直接访问非静态成员。
(转载至CSDN博主,原文链接:https://blog.csdn.net/beyong_78439/article/details/94451477)
解决方法:使用匿名对象的方式实现类的实例化以实现调用目的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异