Java开发手册之OOP规约

说明:在方法执行抛出异常时,可以直接调用POJO的toString()方法打印其属性值,便于排查问题。

  1. 【推荐】使用索引访问用String的split方法得到的数组时,需做最后一个分隔符后有无

内容的检查,否则会有抛IndexOutOfBoundsException的风险。

说明

String str = “a,b,c,”;

String[] ary = str.split(“,”);

// 预期大于3,结果是3

System.out.println(ary.length);

  1. 【推荐】当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起,便于阅读,此条规则优先于第15条规则。

  2. 【推荐】 类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。说明:公有方法是类的调用者和维护者最关心的方法,首屏展示最好;保护方法虽然只是子类关心,也可能是“模板设计模式”下的核心方法;而私有方法外部一般不需要特别关心,是一个黑盒实现;因为承载的信息价值较低,所有Service和DAO的getter/setter方法放在类体最后。

  3. 【推荐】setter方法中,参数名称与类成员变量名称一致,this.成员名 = 参数名。在

getter/setter方法中,不要增加业务逻辑,增加排查问题的难度。

反例

public Integer getData() { if (true) {

return this.data + 100;

} else {

return this.data - 100;

}

}

  1. 【推荐】循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展。说明:反编译出的字节码文件显示每次循环都会new出一个StringBuilder对象,然后进行 append操作,最后通过toString方法返回String对象,造成内存资源浪费。

反例

String str = “start”;

for (int i = 0; i < 100; i++) { str = str + “hello”;

}

  1. 【推荐】final可以声明类、成员变量、方法、以及本地变量,下列情况使用final关键字:

1) 不允许被继承的类,如:String类。

2) 不允许修改引用的域对象,如:POJO类的域变量。

3) 不允许被重写的方法,如:POJO类的setter方法。

4) 不允许运行过程中重新赋值的局部变量。

5) 避免上下文重复使用一个变量,使用final描述可以强制重新定义一个变量,方便更好地进行重构。

  1. 【推荐】慎用Object的clone方法来拷贝对象。

说明:对象的clone方法默认是浅拷贝,若想实现深拷贝需要重写clone方法实现属性对象的拷贝。

  1. 【推荐】类成员与方法访问控制从严:

1) 如果不允许外部直接通过new来创建对象,那么构造方法必须是private。

2) 工具类不允许有public或default构造方法。

3) 类非static成员变量并且与子类共享,必须是protected。
4) 类非static成员变量并且仅在本类使用,必须是private。
5) 类static成员变量如果仅在本类使用,必须是private。
6) 若是static成员变量,必须考虑是否为final。 7) 类成员方法只供类内部调用,必须是private。
8) 类成员方法只对继承类公开,那么限制为protected。说明:任何类、方法、参数、变量,严控访问范围。过于宽泛的访问范围,不利于模块解耦。思考:如果是一个private的方法,想删除就删除,可是一个public的service方法,或者一个public的成员变量,删除一下,不得手心冒点汗吗?变量像自己的小孩,尽量在自己的视线内,变量作用域太大,无限制的到处跑,那么你会担心的。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618164986)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java核心开发手册是一本涵盖Java开发的重要知识和技巧的手册。这本手册通常包含Java核心语法、面向对象编程、集合框架、多线程编程、异常处理等方面的内容。 首先,Java核心开发手册详细解释了Java语言的基础知识,包括数据类型、控制流语句和方法,这些是编写Java程序的基本组成部分。它提供了易于理解和实践的示例,帮助开发人员更好地理解和使用这些语言特性。 其次,Java核心开发手册还介绍了面向对象编程(OOP)的概念和原则。它解释了Java中类和对象的概念,封装、继承和多态的概念,以及如何使用它们构建可维护和可扩展的代码。通过示例和实践题,开发人员可以更全面地了解和掌握面向对象编程的技巧。 此外,Java核心开发手册还涵盖了Java的集合框架,介绍了常用的集合类和算法,如List、Set、Map以及迭代器等。开发人员可以通过阅读手册了解每种集合的特点和适用场景,并学习如何在实际项目中使用它们。 最后,Java核心开发手册还包括多线程编程和异常处理等重要主题。它详细讲解了线程的创建和管理,以及如何处理线程间的同步和通信。此外,手册还介绍了常见的异常类型和异常处理机制,帮助开发人员编写健壮的代码。 总之,Java核心开发手册对于Java开发人员来说是一本非常有价值的资源。它提供了广泛的知识和实践经验,帮助开发人员更好地理解和应用Java的核心特性,提高代码的质量和效率。无论是初学者还是有经验的开发人员,都可以从这本手册中受益匪浅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值