“给JAVA初学者的一封信”
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。下面我们先说说Java作为一个真正面向对象语言的优点.
◆ ◆ ◆
既然是真正的面向对象,那就要做到彻底的封装
这是java和c++最大的不同,java所有的源码以及编译后的文件都以类的形式存在java没有所谓的类外部定义,所有的函数(方法)以及变量(属性)都必须在类内部定义
这样就不会出现一个类被切割成这里一块那里一块的情况,c++就可以,不是么?这样做使得整个程序的结构异常清晰,明了
完全屏蔽了指针,同时引入了垃圾回收机制
任何一个写过c/c++代码的人,都会对内存管理深恶痛绝,因为这使得我们不能把主要精力放在我们关心的事情上,而需要考虑计算机内部的一些事情,作为一个软件工程师,没有一个人愿意把大量的时间花在内存管理上,毕竟我们不是电子工程师。
此时java的优势体现出来了,它完全屏蔽了内存管理。也就是说,如果你用java写程序,写出来的任何一个程序内存上的开销,都不受你控制,乍一看,似乎你受到了束缚,但实际上不是这样。
因为虽然你的程序无法对内存进行管理,降低了一定的速度但你的程序会非常非常的安全,因为你无法调用一个空指针而不像以前写c的时候那样,成天因为空指针而担惊受怕当然,如果你深入了解这一行,就会发现java其实也无法保证程序不去调用空的指针
但是它会在最大程度上避免空指针的调用这已经很好了,安全,这是java的最突出的优点。
虚拟机跨平台
可能所有人都知道windows,但是不是所有人都知道unix和java一样,很多人都不知道unix这种操作系统干什么用。
大部分小型机工作站,都跑在unix一族的操作系统上,比Linux/solaris,unix比起windows有一个最显著的特点,稳定。
而且很重要的windows不安全,在ms的宣传中我想所有人都很少看到安全二字因为windows操作系统针对的是pc用户,pc死机就死机咯,大不了重启.
win95最经常冒出来的就是蓝屏,在服务器这一端上因为ms没有自己的芯片所以要做系统有些力不从心啊。扯远了,那么java可以做到在windows上编译
然后在unix上运行,这是c/c++做不到的
那么说到这里,java能做什么逐渐清晰起来刚才说到了,java程序有一个的特点是安全这个安全是针对你的系统来说得,系统在跑了java程序之后会特别地稳定
而且还能跨平台,那么很明显,java主要应用于除了windows操作系统以外所有的平台.
◆ ◆ ◆
上面说到了很多语言和框架是跨平台的,但是没有实现同样的抽象层。使用 Java,你针对的是 JVM,而不是操作系统。对于程序员,当面对一些编程难题时,这是阻力最小的线路,但是它仅在当你知道如何编程 Java 时有用。如果你刚开始学习 Java 编程,这里有你需要知道的四个基础的提示。
Java 软件包
在 Java 语言中,相关的类被分组到一个软件包中。当你下载 JDK 时所获得的 Java 基础库将被分组到以 java 或 javax 开头的软件包中。软件包提供一种类似于计算机上的文件夹的功能:它们为相关的元素提供结构和定义(以编程术语说,命名空间)。额外的软件包可以从独立开发者、开源项目和商业供应商获得,就像可以为任何编程语言获得库一样。
当你写一个 Java 程序时,你应该在你的代码是顶部声明一个软件包名称。如果你只是编写一个简单的应用程序来入门 Java,你的软件包名称可以简单地用你的项目名称。如果你正在使用一个 Java 集成开发环境,如 Eclipse,当你启动一个新的项目时,它为你生成一个合乎情理的软件包名称。
除此之外,你可以通过查找它相对于你的项目整体的路径来确定你的软件包名称。例如,如果你正在写一组类来帮助游戏开发,并且该集合被称为 jgamer,那么你可能在其中有一些唯一的类。
你的软件包的顶层是 jgamer,并且在其内部中每个软件包都是一个独立的派生物,例如 jgamer.avatar 和 jgamer.score 等等。在你的文件系统里,其目录结构反映了这一点,jgamer 是包含文件 avatar.java 和 score.java 的顶级目录。
Java 导入
作为一名通晓多种语言的程序员,最大的乐趣是找出是否用 include、import、use、require,或一些其它术语来引入你不管使用何种编程语言编写的库。在 Java 中,顺便说一句,当导入你的代码的需要的库时,使用 import 关键字。
导入是基于该环境的 Java 路径。如果 Java 不知道 Java 库存储在系统上的何处,那么,就不能成功导入。只要一个库被存储在系统的 Java 路径中,那么导入能够成功,并且库能够被用于构建和运行一个 Java 应用程序。
如果一个库并不在 Java 路径中(因为,例如,你正在写你自己的库),那么该库可以与你的应用程序绑定在一起(协议许可),以便导入可以按预期地工作。
Java 类
Java 类使用关键字 public class 声明,以及一个唯一的对应于它的文件名的类名。例如,在项目 helloworld 中的一个文件 Hello.java 中:
你可以在一个类内部声明变量和函数。在 Java 中,在一个类中的变量被称为字段。
Java 方法
Java 的方法本质上是对象中的函数。基于预期返回的数据类型(例如 void、int、float 等等),它们被定义为 public(意味着它们可以被任何其它类访问)或 private(限制它们的使用)。
但是它会在最大程度上避免空指针的调用这已经很好了,安全,这是java的最突出的优点。
读者福利:最新整理了一些Java相关学习资料,基础精讲视频教程、学习手册、面试题、开发工具等,如果你有需要,可以添加我的QQ群:686.827.638自行来获取下载(适合零基础初学者)。
对于刚学习Java的初学者,很多适合会感觉学的没有方向,越学越迷茫,这样的情况一般都是学习方法开始就是错误的。没有把Java技术进行专业系统化的学习。从就业和节约时间的角度考虑,如果有谁遇到这方面的问题,你们可以加我上面的裙,可以跟大家一起交流,不要一个人盲目的学,少走弯路才是学习Java最大的捷径。