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
- 虚方法和非虚方法
静态类型和实际类型
静态分派和动态分派
- …↓
底层多态机制https://www.cnblogs.com/tsiangleo/p/4415628.html
1-4.抽象
根据需求,抽象出合理的类
2.跨平台
一次编译处处运行
跨平台原理
.java文件编译生成.class文件后,可以在不同系统的’JVM’上运行,
JVM负责与系统底层交互
3.较好的安全性和稳定性
3-1.安全性
- 内存需要通过对象实例的方式访问,防止’特洛伊’木马等欺骗手段访问对象的私有成员
- 禁止运行时堆栈溢出(防止蠕虫病毒)
- 禁止在自己处理空间外破坏内存
- 未经授权禁止读写文件
- …
3-2.稳定性
即鲁棒性(Robust ):健壮性
在异常情况下,系统生存的关键.
- 编译期和运行期检测异常.异常处理功能
- GC垃圾回收机制
- 真数组,防止覆盖.通过下标0能顺序访问随后的元素
- 强类型机制
- ….