javaSE-java优点

2017-07-05

javaSE-java优点

[TOC]

1.面向对象

1-1.封装

将复杂的数据封装起来,预留一个简单的接口,

使用者通过这个接口来使用.

封装能简化对象使用的同时能提高该对象的安全性

1-2.继承

1-2-1.继承的概念
  • 继承可以实现功能的扩展,提高复用性,简化开发

  • java支持单继承不支持多继承

  • 构造器和private定义的属性/方法不能被继承(super可以调用父类方法和属性/构造)

1-2-2.继承中初始化顺序

首先是类的结构:属性(类属性和实例属性) / 方法(类方法和实例方法) / 构造 / 初始化块(静态初始化块 / 实例初始化块)(假设代码块都包含)

类初始化阶段

在类加载机制的准备阶段,为所有的类属性初始化块分配内存空间,

在类加载机制首次初始化阶段进行初始化(如果该类有父类,则先为其父类初始化类属性初始化代码块,一直往上追溯到Object最先执行,一个递归的过程)

对象初始化阶段

new构建对象时,先为对象的属性和初始化块分配内存,并按照顺序执行默认的初始化块,

如果存在父类,则先为父类对象的属性和初始化块分配空间,并按照顺序执行默认的初始化块,构造程序.

1-3.多态

1-3-3.存在继承中

1-3-2.父类引用指向子类对象

1-3-3.子类重写父类方法

多态基础提高https://www.cnblogs.com/chenssy/p/3372798.html

  1. 虚方法和非虚方法
  2. 静态类型和实际类型

  3. 静态分派和动态分派

  4. …↓

底层多态机制https://www.cnblogs.com/tsiangleo/p/4415628.html

1-4.抽象

根据需求,抽象出合理的类

2.跨平台

一次编译处处运行

跨平台原理

  • .java文件编译生成.class文件后,可以在不同系统的’JVM’上运行,

  • JVM负责与系统底层交互

3.较好的安全性和稳定性

3-1.安全性

  1. 内存需要通过对象实例的方式访问,防止’特洛伊’木马等欺骗手段访问对象的私有成员
  2. 禁止运行时堆栈溢出(防止蠕虫病毒)
  3. 禁止在自己处理空间外破坏内存
  4. 未经授权禁止读写文件

3-2.稳定性

即鲁棒性(Robust ):健壮性

在异常情况下,系统生存的关键.

  1. 编译期和运行期检测异常.异常处理功能
  2. GC垃圾回收机制
  3. 真数组,防止覆盖.通过下标0能顺序访问随后的元素
  4. 强类型机制
  5. ….

4.支持Web开发

5.GC机制

6.完善的异常机制

7.丰富的类库,去指针化