Java一个真正面向对象的语言
2014-04-03 22:07
302 查看
先说什么是Java
?
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE、J2ME、J2EE,这也就是SunONE(OpenNetEnvironment)体系。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程
J2ME主要应用于嵌入式系统开发,如手机和PDA的编程
J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
J2SE简介与J2EE、J2ME的比较
J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程
J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制。
Java是一种面向对象语言,真正的面向对象,任何函数和变量都以类(class)封装起来。下面来说一下,Java作为一个真正面向对象语言的优点:
1、封装:
Java既然是真正的面向对象,那就要做到彻底的封装。
这是Java和c++最大的不同,Java所有的源码以及编译后的文件都以类的形式存在Java没有所谓的类外部定义,所有的函数(方法)以及变量(属性)都必须在类内部定义这样就不会出现一个类被切割成这里一块那里一块的情况,C++就可以,不是么?
这样做使得整个程序的结构异常清晰,明了。
2、完全屏蔽了指针,引用垃圾回收机制。
任何一个写过c/c++代码的人,都会对内存管理深恶痛绝,因为这使得我们不能把主要精力放在我们关心的事情上,而需要考虑计算机内部的一些事情。作为一个软件工程师,我想没有一个人愿意把大量的时间花在内存管理上,毕竟我们不是电子工程师。
此时Java的优势体现出来了,它完全屏蔽了内存管理。也就是说,如果你用Java写程序,写出来的任何一个程序内存上的开销,都不受你控制。乍一看,似乎你受到了束缚,但实际上不是这样,因为虽然你的程序无法对内存进行管理,降低了一定的速度。但你的程序会非常非常的安全,因为你无法调用一个空指针,而不像以前写c的时候那样,成天因为空指针而担惊受怕。
当然,Java其实也无法保证程序不去调用空的指针。但是它会在最大程度上避免空指针的调用。这已经很好了,安全,这是Java的最突出的优点
3、Java虚拟机
Java是一种解释性语言,它的执行过程是将.Java源文件,编译为.class文件,然后通过Java自己的虚拟机(Jvm)机制,针对于不同的平台,在运行过程中,将代码逐行翻译。所以,Java实现了“一次编译,随处运行”,即跨平台化了。
我们不需要考虑运行的是那个操作系统,只需要针对于JVM接口进行编程即可。JVM为每个操作系统都定制了独立的接口,用于解释Java程序。
相关文章推荐
- 面向对象的java语言的特性
- 一个比较综合的Java语言基础试题
- 如何才算真正掌握 Java 语言
- 从事程序开发以来,但从未真正做过Java开发—一个Java程序员的心声
- 黑马程序员—java语言_面向对象1
- 黑马程序员-Java语言基础 –面向对象 第7天
- 如何才算真正的掌握Java语言(J2SE篇)
- 黑马程序员——Java语言:面向对象
- Java 面向对象的语言
- 数据结构与算法分析(Java 语言描述)(35)—— 使用两个栈实现一个队列
- java语言基础(32)——面向对象(this和super的区别和应用)
- java语言基础(27)——面向对象(static 静态的使用)
- [每天一个知识点]20-Java语言-菱形运算符
- 用java语言,不用任何框架发布一个基于WSDL的WebService服务
- JavaSe总结-06--Java语言基础(2)-二维数组 &面向对象(1)
- JAVA语言如何用星号打印出一个近似圆
- [每天一个知识点]6-Java语言-char和code point
- 用Java语言打印一个倒立的等腰三角形———2015.11.26
- python 历险记之面向对象——一个 Java 程序员的告白(二)
- [黑马程序员]--Java语言面向对象(一)