Java本来就是从C++衍生出来的
来源:互联网 发布:js让多个功能延迟执行 编辑:程序博客网 时间:2024/05/16 12:51
作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C++衍生出来的。”
然而,C++和Java之间仍存在一些显著的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什么说Java是一种优秀的程序设计语言。本附录将引导大家认识用于区分Java和C++的一些重要特征。
(1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍。无论什么都不能阻止Java语言进行编译。写作本书的时候,刚刚出现了一些准实时编译器,它们能显著加快速度。当然,我们完全有理由认为会出现适用于更多流行平台的纯固有编译器,但假若没有那些编译器,由于速度的限制,必须有些问题是Java不能解决的。
(2) 和C++一样,Java也提供了两种类型的注释。
(3) 所有东西都必须置入一个类。不存在全局函数或者全局数据。如果想获得与全局函数等价的功能,可考虑将static方法和static数据置入一个类里。注意没有象结构、枚举或者联合这一类的东西,一切只有“类”(Class)!
(4) 所有方法都是在类的主体定义的。所以用C++的眼光看,似乎所有函数都已嵌入,但实情并非如何(嵌入的问题在后面讲述)。
(5) 在Java中,类定义采取几乎和C++一样的形式。但没有标志结束的分号。没有class foo这种形式的类声明,只有类定义。
class aType()
void aMethod() {/* 方法主体 */}
}
(6) Java中没有作用域范围运算符“::”。Java利用点号做所有的事情,但可以不用考虑它,因为只能在一个类里定义元素。即使那些方法定义,也必须在一个类的内部,所以根本没有必要指定作用域的范围。我们注意到的一项差异是对static方法的调用:使用ClassName.methodName()。除此以外,package(包)的名字是用点号建立的,并能用import关键字实现C++的“#include”的一部分功能。例如下面这个语句:
import java.awt.*;
(#include并不直接映射成import,但在使用时有类似的感觉。)
(7) 与C++类似,Java含有一系列“主类型”(Primitive type),以实现更有效率的访问。在Java中,这些类型包括boolean,char,byte,short,int,long,float以及double。所有主类型的大小都是固有的,且与具体的机器无关(考虑到移植的问题)。这肯定会对性能造成一定的影响,具体取决于不同的机器。对类型的检查和要求在Java里变得更苛刻。例如:
■条件表达式只能是boolean(布尔)类型,不可使用整数。
■必须使用象X+Y这样的一个表达式的结果;不能仅仅用“X+Y”来实现“副作用”。
(8) char(字符)类型使用国际通用的16位Unicode字符集,所以能自动表达大多数国家的字符。
- Java本来就是从C++衍生出来的
- 本来就是残酷的
- 从ASP.NET数据库某字段为空时的处理所衍生出来的思考
- 根据insertBefore()衍生出来的insertAfter()函数
- 由PostgreSQL衍生出来的数据库
- 我就是在广州传智播客学Java出来的
- java.util.Map的衍生
- 还有一类就是如本来生活网这样的
- 互联网,本来就是一群自由人的自由联合。
- 成功就是试出来的
- 生命本来就是一个奇迹
- 生活本来就是一种残缺
- java 枚举enum的本来源码
- 堆和栈的区别以及衍生出来的栈的效率为什么比堆高
- 堆和栈的区别以及衍生出来的栈的效率为什么比堆高
- 实在搞不懂,本来很简单的事,为什么要非得弄几个类出来实现。。。
- PDF软件本来就是可以复制里面的文字的,但是不能修改
- 关于由出国问题、未来问题等衍生出来的生气问题
- Eclipse log4j.xml – log4j.dtd cannot be validated as the XML definition
- dpdk相关连接
- Java基础4--数组
- Linux初学者需要掌握的命令
- java算法2~求字符串中的数字字串的求和
- Java本来就是从C++衍生出来的
- opengl与d3d产生或填入mipmap参数不同之处
- 高并发量网站解决方案
- ThreadLocal--线程独自共享变量
- Hexo 百度提交链接
- HTTP学习计划(web的基础)--HTTP概述(1/2)
- 创建DataFrame遇到的问题
- RecyclerView专家
- hdu 1698 Just a Hook