Java简介
Java的两种核心机制
Java虚拟机(Java Virtual Machine)
实现Java的跨平台,每个操作系统上都有对应的解释器。源程序通过编译器变成字节码,然后通过JVM执行。JVM可以理解成一个以字节码为机器指令的CPU。JVM机制屏蔽了底层运行平台的差别,实现了“一个编译,随处运行”。
垃圾收集机制(Garbage Collection)
因为这个机制的存在,程序员不再需要关心内存回收的问题。垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。
程序执行过程
- Load到内存区
- 找到main方法开始执行
- 执行过程中的内存管理
存在硬盘中的程序代码通过编译(Javac)成字节码,之后运行(Java)。运行开始后代码被下载到内存区,从main方法开始执行。内存代码存放在code segment,静态变量和字符串常量存放在data segment,局部变量存放在stack,new出来的东西存放在heap中。
Java变量的分类
- 局部变量:方法或语句块内部定义变量
- 成员变量:方法外部、类的内部定义的变量
Java方法
【修饰符1 修饰符2 ...】返回值类型 方法名(形式参数列表){
Java语句;... ...
}
- 形式参数:在方法被调用时用于接收外界输入的数据。
- 实参:调用方法时实际传给方法的数据。
- 返回值:方法在执行过程完毕后返回给调用它的环境的数据。
- 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
对象和类的概念
对象用计算机语言对问题域中的失误的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。
类是用于描述同一类的对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性。
类可以看成一类对象的模板,对象可以看成类的一个具体实例。
类(对象)之间的关系
- 关联关系
举个例子:一个学院有教授和研究生,教授和研究生分别是一个类。“教授”这个类中有一个方法“教课”,“研究生”这个类中有一个对象“研究生A”,对“研究生A”使用“教课”这个方法就是关联关系。 - 继承关系
如果可以用“XX是一种XX”这么一个语句来表述的话,基本就是继承关系了。这个是“一般和特殊”的关系。比如:游泳运动员是运动员。 - 聚合关系(整体和部分)
举个例子:球队、队长、队员。队长和队员组成了球队。(聚集) 另一个例子:person、limb、head、body.limb、head、body组成了person(组合) - 实现关系
- 多态
网友评论