栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java的语言特点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java的语言特点

Java语言特点:

  • 简单性
  • 面向对象
  • 平台无关性【可运行于不同的平台】
  • 稳健性
  • 安全性
  • 可移植性
  • 高性能
  • 多线程
  • 编译和解释性
  • 分布性
1.面向对象

  尽管Java是基于C++的,但是相比之下,Java是一种更“纯粹”的面向对象程序设计语言。

  面向对象其实是现实世界模型的自然延伸,世间万物都可以看作为对象。对象之间通过消息相互作用,现实世界中任何实体都以归纳成为某类事物,也因此任何对象都是某一类事物的实例,如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。

  面向对象语言都支持三个概念:封装,多态和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的各个字段数据,行为表示对象的方法(方法的作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。

  Alan Kay曾总结了第一个成功的面向对象语言,同时也是Java所基于的语言之一Smalltalk的五个基本特征:

  1 万物皆对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽取待求问题的任何概念概念化构件(狗,建筑物,服务等),将其表示为程序中的对象。

  2 程序时对象的集合,他们通过发送消息来告知彼此所要做的。要想请求一个对象,就必须对该对象发送一条消息。更具体地说,可以把消息想象为对某个特定对象的方法的调用请求。

  3 每个对象都有自己的由其它对象所构成的存储。换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象。因此,可以在程序中构件复杂的体系,同时将其复杂性隐藏在对象的简单性背后。

  4 每个对象都拥有其类型。按照通用的说法,“每个对象都是某个类(class)的一个实例(instance)”,这里“类”就是“类型”的同意词。每个类最重要的区别于其他类的特性就是“可以发送什么样的消息给他”。

  5 某个特定类型的所有对象都可以接收同样的消息。这是一句意味深长的表述,比如因为“圆形”类型的对象同时也是“几何形”类型的对象,所以一个“圆形”对象必定能够接受发送给“几何形”对象的消息。这意味着可以编写“几何形”交互并自动处理所有与几何形性质相关的事物的代码

2. 简单性

  Java 语法是 C++ 语法的一个“ 纯净” 版本。这里没有头文件、 指针运算(甚至指 针语法)、结构、 联合、操作符重载、 虚基类等。如果你了解 C++ 就会发现可以轻而易举地转换到 Java语法。

 

3. 分布式

  Java 有一个丰富的例程库, 用于处理像 HTTP 和 FIT 之类的 TCP/IP 协议。Java 应用 程序能够通过 URL 打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

4. 健壮性

  Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5. 安全性

  从一开始,Java 就设计成能够防范各种攻击,其中包括:

  (1)运行时堆栈溢出。 如蠕虫和病毒常用的攻击手段。

  (2)破坏自己的进程空间之外的内存。

  (3) 未经授权读写文件。

6. 体系结构中立性

  编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码, 只要有 Java 运行时系统, 这些编译后的代码可以在许多处理器上运行。

7. 可移植性

  在 Java 中,数据类型具有固定的大小, 这消除了代码移植时令 人头痛的主要问题。 二进制数据以固定的格式进行存储和传输, 消除了字节顺序的困扰。字 符串是用标准的 Unicode 格式存储的。

8. 解释性

  Java 解释器可以在任何移植了解释器的机器上执行 Java 字节码。由于链接是一 个增量式且轻量级的过程, 所以, 开发过程也变得更加快捷, 更加具有探索性。

9. 高性能

  字节码可以(在运行时刻)动态地翻译成对应运行这个应用的特定 CPU 的机 器码。

10. 多线程

  多线程可以带来更好的交互响应和实时行为。

11. 动态性

  Java 与 C 或 C++ 相比更加具有动态性。它能够适应不断发展 的环境库中可以自由地添加新方法和实例变量, 而对客户端却没有任何影响。在 Java 中找出运行时类型信息十分简单。

尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili尚学堂给同学们带来全新的Java300集课程啦本课程为Java300集2022版第一季,配合最新版的Java课程,所有视频重新录制,课件所有图形做了重新绘制和配色,图解学习Java,让学习成为一种享受本套教程专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。后续课https://www.bilibili.com/video/BV1qL411u7eE?from=search&seid=8352640323126846966&spm_id_from=333.337.0.0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号