本周学习总结

本文深入探讨了Java中引用变量与对象变量的区别,解析了多态的实际应用及其带来的代码灵活性与可维护性提升。同时,介绍了String.format()函数的使用技巧,以及静态变量、局部变量和实例变量的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然给自己定的是每周都要写周总结的,但是好像又有好久没有动笔了。转眼间已经到了十月底,2018年自己的两个目标实现了没有呢?回想自己在离心机的日子,让我万万没想到的是,现在来了机关楼居然还是感觉累,分析总结根本原因还是睡得晚,缺乏锻炼。尽管距离2019年越来越近但我还是不会放弃我的目标,初心不变,信仰不变。

引用变量和对象变量

最近在看HeadFirt Java,和之前看的HeadFirst JSP一样,这一次HeadFirst一样给我带来了意外和惊喜。他对好多概念的讲解让人耳目一新。引用变量和对象变量,我们在给类的属性赋值的时候,如果类对应的属性是primitive数据类型,那么变量存储的就是该数据类型在栈中对应的数值。而如果属性是引用数据类型,那么引用变量存储的不是对象在堆中的内存地址而是提供调用对象方法对应的内存值,也就是我们代表的是遥控器而不是“电视”(对象)。这里容易混淆的就是“==”和“equal()”,第一个符号我们比的是引用变量所存储的值,而equal()不是判断引用所代表的个体是否是同一个(可以是不同的个体),而仅仅是比较具体的内容是否相等。

多态的最大意义

之前对多态的理解只是停留在概念上的,知道父类的引用指向子类的对象便是多态,但对于多态的意义从来没有深入思考过。通过这次通读HeadFirst Java,让我对多态的意义有了更为深入的认识。用书中的话来说的话我们这里定义的父类引用变量主要是用在方法参数,数组类型,方法返回类型中的。很明显由于多态的存在,你可要在这样的方法中传入更多子类型的参数,数组中保存更多类型的数据,方法返回中返回更多的类型。对于调用方来说我们选择的余地更大了,方法的复用性更强,代码更易于维护了,这样的好处要远大于非多态的定义。再就是子类继承了父类的公共属性和公共方法(构造方法除外),并且会默认调用super()方法,子类可以选择性的覆写父类的方法形成自己特有的逻辑。

String.format();

谈到String.format()我主要说这么几个典型”%tA“,”%tB“,”%tc“,”%td“,”%tr“,"%t":

Date today=new Date();
String.format("%tA,%<tr,%<td",today);

以及这样的例子:

System.out.println(String.format("%,6.1f",42.000));

静态变量局部变量和实例变量

谈到这三个概念主要有以下几个容易误解的地方:1. 静态变量属于类不属于对象。2. 实例变量有默认值,而局部变量没有默认值。3. 实例变量属于对象的堆内存,方法属于栈内存。关于第一点静态变量属于类不属于对象,最为典型的例子就是构造方法中对静态变量的“++”操作,新建一个对象不会影响静态变量的当前状态,这说明静态变量不属于对象它会在对象创建完毕之前在类加载的时候进行赋值。第二点最为典型的就是我们在方法中定义变量之后编译器会告诉我们变量需要赋初值,而全局的实例变量则不用。

总结:

这周自己的学习时间还是远远不够,一方面确实是现场的事情比较多,另外一方面从个人角度来看的话主要是作息不规律,对自己的要求不够严格。接下来要做的首先是要尽可能为自己争取更多的学习时间,另外无论多苦多累在规定的学习时间,一定要咬牙熬下去,力争完成每天,每周,每月的目标。2018年铁血铸信仰,我不会倒,相反我一定要彻底全面地站起来,因为我永远都不是个安于现状,醉生梦死的人渣。活着就要活出尊严,活着就要活的精彩。

### 关于程序员个人成长的总结与方法 #### 成长背景与现状 当前中国的Java程序员数量已超过百万,随着IT行业的快速发展以及大量新人涌入市场,竞争日益激烈[^1]。因此,无论是初入职场的新手还是已有一定经验的老手,都需要思考如何有效提升自己以适应行业需求。 #### 职业发展阶段分析 对于工作2至5年的Java程序员而言,其职业路径通常会经历以下几个阶段: - **基础巩固期**:此阶段主要关注核心编程技能的学习与掌握,例如数据结构、算法设计及面向对象编程原则。 - **实战积累期**:参与实际项目开发,在实践中加深对软件工程的理解并解决复杂问题的能力。 - **技术深化期**:深入研究特定领域内的先进技术(如分布式系统、微服务架构),同时培养团队协作能力和管理技巧[^3]。 #### 面临挑战及其应对策略 许多程序员在职业生涯中期可能会遇到瓶颈——当他们被赋予更多责任时却发现自己缺乏必要的经验和知识来胜任新角色[^2]。针对这种情况可采取如下措施: 1. 明确目标方向 结合自身兴趣爱好和发展潜力设定清晰的职业规划;定期评估进展状况以便及时调整计划。 2. 构建完善的知识体系 不仅局限于编码本身,还应涉猎计算机科学基础知识(操作系统原理、网络协议)、数据库优化等方面的内容。此外还需注重非技术层面的成长,比如沟通表达力、时间管理等软实力的锻炼。 3. 积极投身开源社区贡献代码 这不仅能提高技术水平还能扩大人脉圈层获得更多学习机会。 4. 善用在线资源平台自学充电 利用MOOC课程网站观看高质量视频教程阅读经典书籍文献资料等方式保持终身学习态度。 ```java // 示例代码展示良好的编程习惯 public class GrowthPlan { public static void main(String[] args){ System.out.println("坚持每天进步一点点"); // 定义长期目标 String longTermGoal = "成为行业内顶尖专家"; // 将大目标拆解成若干个小任务逐步完成 List<String> shortTasks = Arrays.asList( "每周阅读一篇专业技术文章", "每月尝试一种新的框架工具" ); for (String task : shortTasks){ executeTask(task); } } private static void executeTask(String taskName){ System.out.printf("正在执行:%s%n",taskName); } } ``` #### 综述 综上所述,作为一位追求卓越的开发者应当制定合理可行的成长方案并通过坚持不懈的努力去实现它。只有这样才能够在这个瞬息万变的技术世界里立于不败之地[^1].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值