第一讲 Java语言与面向对象的程序设计
1.1 Java语言的历史与特点
Java SE 标准版 Standard Edition 桌面
Java EE 企业版 Enterprise Edition 网络
Java ME 微型版 Micro Edition 手机等(与Android不同)
JCP - Java Community Process
JSRs - Java Specification Requests
Java特点
面向对象,平台无关性,安全稳定,支持多线程,提供了丰富的库
不同于C++
无指针、自动内存管理、数据类型长度固定、不用头文件、不包含结构和联合、不支持宏、不用多重继承、无类外全局变量、无GOTO
Java核心机制
Java 虚拟机(Java Virtual Machine)
JVM读取并处理经编译过的字节码class文件。
JVM规范定义了:指令集、寄存器集、类文件结构、堆栈、垃圾收集堆、内存区域
代码安全性检测(Code Security)
JRE = JVM + API(Lib)
JRE主要完成三项主要功能:
加载代码: class loader
校验代码:bytecode verifier
执行代码:runtime interpreter
Java 运行环境是由虚拟机来装载这些程序并且调用相应的指令来具体执行的
字节码class ---- 所以平台无关
代码校验 ---- 所以Java是安全的
垃圾收集机制(Garbage Collection)
1.系统级专门线程,跟踪存储空间的分配(或者说,在分配的时候就已经跟踪清楚了)
2.JVM空闲时检查并释放那些可释放的空间
3.程序员无法也无需精确控制和干预该回收过程
JDK = JRE + Tools
javac.exe 编译器
java.exe 执行器
javadoc.exe 文档生成器
jar.exe 打包器
jdb.exe 调试器
1.2 Java面向对象
类:属性(变量,字段field),行为(函数,方法method)
类是对象的抽象(模板),对象是类的实例
封装性
模块化,信息隐蔽(只通过受保护的接口访问某个类)
继承性
父类和子类共享数据和方法
实现了更好的抽象和分类、增强代码重用率、提高可维护性
多态性(polymorphism)
不同的对象收到同一个消息(调用方法)可产生不同的效果,实现的细节由接受对象自行决定
面向对象程序设计
1.有哪些对象类
2.每个类有哪些属性、方法
3.类之间的关系(继承、关联)
4.对象之间发送消息(调用方法)