-
Java语言的魅力
- Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
-
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
简单性
- Java的风格类似于C++。从某种意义上讲,Java语言是C及C++语言的一个变种。
- Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。
- Java提供了丰富的类库。
面向对象
Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。
对象
所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
- 对象具有属性和行为。
- 对象具有变化的状态。
- 对象具有唯一性。
- 对象都是某个类别的实例。
- 一切皆为对象,真实世界中的所有事物都可以视为对象。
面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率。
- 可重用性:代码重复使用,减少代码量,提高开发效率。
- 可扩展性:指新的功能可以很容易地加入到系统中来,便于软件的修改。
- 可管理性:能够将功能与数据结合,方便管理。
面向对象具有继承、封装和多态 3 个核心特性。
继承
- 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
- Java 只能单继承,不能多继承。
- Java继承关键字extends。
封装
- 封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。封装的目的在于保护信息。
- 提高程序的安全性,保护数据。保护类中的信息,它可以阻止在外部定义的代码随意访问内部代码和数据。
- 隐藏代码的实现细节。
- 统一接口。有助于建立各个系统之间的松耦合关系,提高系统的独立性。
- 增加系统可维护性。提高软件的复用率,降低成本。
多态
- 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
- 多态性体现在父类中定义的属性和方法被子类继承后,可以具有不同的属性或表现方式。
-
多态性允许一个接口被多个同类使用,弥补了单继承的不足。
分布式
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。
- 操作分布:即在多个不同的主机上不知相关操作。
-
数据分布:将数据分别存放在不同的主机上,这些主机是网络中的不同成员。
健壮性
- Java会检查程序在编码和运行时的错误,并消除错误。
- Java的强类型机制、异常处理、垃圾回收机制等都是Java健壮性的重要保证。
-
Java的异常机制也是健壮性的一大体现。
安全性
语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。
语言级安全性
Java取消了强大但又危险的指针,而代之以引用。由于指针可进行移动运算,指针可随便指向一个内存区域,而不管
这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的,并
且使用指针也容易数组越界。
垃圾回收机制
不需要程序员直接控制内存回收,由垃圾回收器在后台自动回收不再使用的内存。避免程序忘记及时回收,导致内存
泄露。避免程序错误回收程序核心类库的内存,导致系统崩溃。
异常处理机制
Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。
强制类型转换
只有在满足强制转换规则的情况下才能强转成功。
底层的安全性
Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。
运行环境提供了四级安全性保障机制:
字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
跨平台/可移植性
指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
- Java程序具有与体系结构无关的特性。
-
Java的类库也提供了针对不同平台的接口,所有这些类库也可以被移植。
多线程
- 多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。
-
Java 支持多个线程同时执行,并提供多线程之间的同步机制。
动态性
Java可以动态调整库中方法和增加变量,并且客户端不需要任何更改。在Java中进行动态调整是非常简单和直接。
高性能性
Java编译后的字节码是在解释器中运行的,所以它的速度较多数交互式运用程序提高了很多。
__EOF__
本文作者:風青宇
本文链接:https://www.cnblogs.com/dmflysky/p/14477461.html
本文链接:https://www.cnblogs.com/dmflysky/p/14477461.html
最新更新
带有参数的装饰器
类装饰器
django中的auth模块与admin后台管理
python的日期处理
字符串常用方法
基本数据类型概述
python-map()函数基本用法
python带你实现任意下载AcFun视频数据~
bbs项目之注册功能
变量的定义和使用
三大常用数据库事务详解之三:事务运行
三大常用关系型数据库事务详解之二:基
三大关系型数据库事务详解之一:基本概
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
VB.NET中如何快速访问注册表
ASP.NET中图象处理过程详解
Vue(1)Vue安装与使用
JavaScript 语言入门
js将一段字符串的首字母转成大写
纯原生html编写的h5视频播放器
H5仿原生app短信验证码vue2.0组件附源码地
TypeScript(4)接口
TypeScript(3)基础类型
TypeScript(2)WebStorm自动编译TypeScript配置