对象和类的概念
类可以看做是对象的模板,对象的抽象,系统根据类来创建对象
抽象:抽出相似的部分,归为类
通过抽象创建类,系统根据类,再去创建对象
构造方法
用new关键字调用,用于创建对象
不写构造方法时,默认产生一个无参构造方法,当自己定义其他构造方法的时候,系统不会产生默认无参构造方法
内存分析
JAVA虚拟机内存分为三类:栈Stack,堆heap,方法区method area
栈:1、栈描述的是方法执行的内存模型,每个方法呗调用时都会创建一个栈帧,用于存储局部变量,操作数,方法出口等
2、JVM会为每一个线程创建一个栈,用于存放该线程执行的方法的信息(实际参数,局部变量等)
3、栈属于线程的私有,不能实现线程之间的共享
4、“先进后出,后进先出”,系统自动分配,速度快,内存连续
堆:1、用于存储创建好的对象,和数组
2、JVM只有一个堆,被所有的线程共享
3、堆是一个不连续的内存空间,分配灵活,速度慢
方法区:1、JVM只有一个方法区
2、方法区也是堆,只是用于存储类,常量相关的信息
3、用于存放程序中永远不变或唯一的内容
4、构造方法
又称构造器,用于对象的初始化,通过new关键字调用,虽有返回值,但不能自定义返回类型,不能在构造器中使用return返回值,但是可以使用return语句