类
可以看作是一个模板,系统根据类的定义创造对象
对象
Object, instance(实例)
Java程序内存分析
Java虚拟机内存可以分为三个区域:
栈(stack) 堆(heap) 方法区(method area )
栈
- 描述方法执行的内存模型,每个方法被调用会创建一个栈帧
- JVM为每个线程创建一个栈,存放线程的信息
- 线程私有,不能共享
- 先进后出,后进先出
- 系统自动分配,速度快
堆
- 存放创建好的对象,数组
- JVM只有一个堆,被所有线程共享
- 是一个不连续的内存空间,速度慢
方法区
- JVM只有一个方法区 所有线程共享
- 实质上也是堆,只是用来存储类,常量相关的信息
- 存放程序中永远不变的,或者唯一的内容(类信息(代码)、静态变量、字符串常量)
构造器
也叫构造方法,用于对象的初始化
要点:
- 通过new关键字调用!!
- 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
- 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!
- 构造器的方法名必须和类名一致!