主页 > 案例 > JAVA > JavaScript教程 Android学习 ASP.NET JAVA

北大青鸟java培训入门到进阶

辰乐科技 | 发布时间: 2018-04-07 22:22

来源网络 发布时间:2017-9-18 10:29 此页面信息为商业广告

北大青鸟java培训入门到进阶是怎样的?如果你已经有多年 C 经验,要转 Java 做应用开发,恭喜你将进入既熟悉又陌生的新环境。
因为:
    Java 大部分语法继承自 C,所以对 C 程序员来说很容易上手;
    Java 是面向对象语言,对于 C 程序员来说会比较陌生;

除了这两项外,我看了一些 C 程序员写的 Java 代码后,觉得还有其他要注意或学习是事项。

JAVA培训

入门
1
Java 入门和工具
Java 入门推荐看《深入浅出 Java 》一书。
Java 目前主流的开发工具是 Eclipse 和 IntelliJ IDEA,我推荐使用 IntelliJ IDEA。
maven 是类似 CMake 又超越 CMake 的构建工具,maven 除了能编译、测试、打包外,还能自动管理类库依赖。
2
代码规范
Java 设计之初,就带了一套代码规范,所以你一开始就要遵循 Java 的代码规范,否则 Java 程序员一眼就看出这不是 Java 代码了。 工具 java checkstyle 能在编译时就能检查出不遵循代码规范的问题。
3
异常处理

Java 有专门的异常处理机制,而 C 没有。所以有些 C 程序员转到 Java 后,方法返回还是 int,把要返回的值放在参数里面,由方法内部进行修改。这种做法危害很大,把外部的对象传到方法内部进行修改会导致维护很难,也不利于并发执行。正确的姿势应该是,方法接受需要的参数,返回正常场景的值,异常情况抛出自定义异常。

JAVA培训

4
SDK 和常用类库
我看到有些 C 程序员一上来就自己造轮子,虽然造轮子很有意思,但对于项目来说,往往事倍功半,是很低效的事情。
Java 之所以成为主流语言*屹立不倒,并非语法多先进,而是有庞大的开源生态系统。作为合格的 Java 程序员对 Java SDK 熟悉是必须的,这里推荐《Core Java》上下卷,对 Java SDK 有全面的介绍。
除了 Java SDK,Java 生态系统里还有其他一些重要的类库,高级 Java 程序员都需要掌握。有些 C 转过来的架构师做 Java 系统设计,不做 Java 已有类库的技术调研就开始做设计,选用不恰当的 Java 类库做事情。这种态度对项目的损害非常大。
5
面向对象
掌握前面 4 个后基本上就能做 Java 项目了,但如果不了解面向对象,出门不好意思说自己是 Java 程序员。推荐看《深入浅出面向对象分析与设计》。
面向对象*主要的目的是信息封装,手段是对象,把状态和行为封装在对象里面
而 C 程序员很喜欢用 static,把对象当做有命名空间的全局状态而已,这是很不应该的。
应该说 Java 5 之后就很不推荐用 static 了, 因为 static 的初始化是在类装载过程中,出现问题比较难定位,*关键是 static 状态实际上就是全局变量,这是系统可维护性的大敌。 static 方法也使得类难以做单元测试。 所以 Java 5 以后,再加上 Spring 的流行,只有极少数 util 类用 static,其他类都应该不要用 static。
Java 有接口的概念,这和 C 的头文件声明类似,但可能有些 C 程序员没习惯用头文件,转到 Java 也不太用接口。在做 Java 模块设计时,应设计接口,然后基于接口编程。

另外面向对象有继承和多态,以前面向对象很强调这个,我个人认为应该慎用。继承的语义是 is a,当你用继承的时候,比如 A extends B,就要问问 A is a B 吗? 优先使用组合而不是继承。

JAVA培训

进阶
1
effective java
如何写出无陷阱的 Java 虽然比 C 简单多了,但还是有很多需要注意的地方。
当 Java 入门后,*本书应该是《Effective Java》,里面讲了很多 Java 深层次的陷阱和应当注意的问题。另外《clean code》我觉得无论是 C 程序员还是 java 程序员都是应该入门先读的,所以没在入门里列出来。
2
S.O.L.I.D OO 设计原则

虽然 Java 面试的时候会被问到有哪些设计原则,其实你只要知道字面意思基本上也就差不多了,因为很多 Java 面试官可能也搞不清楚这些原则如何恰当使用和要义。但是作为软件系统设计,无论是 OO 还是过程或函数式编程,SOLID 原则都是适用的。所以作为高级 Java 软件工程师,理解和掌握这些设计原则是必须的。推荐《深入浅出面向对象分析与设计》作为入门,然后在日常的软件设计中时时琢磨。

相关热门文章

服务热线