1、引用:
引用时类似于指针,句柄的存在。引用需要和实例对象相关联才能操控对象。
2、对象:
1.引用与对象的关联一般通过new关键字进行(String是特殊的对象,可以直接赋值进行初始化);
2.对象是类的实例,拥有属于自己的成员变量和方法类;
3、类:
1、一些具有相似属性和行为的对象的抽象集合;
2、类可以拥有自己的静态属性和行为(static);
3、类和对象属于模板和产品的关系;
4、存储:
寄存器 | 最快的存储区,在处理器内部 |
栈(堆栈) | 位于通用RAM(随机访问存储器),主要存储对象引用、基础类型 |
堆 | RAM,主要存储对象本身, |
方法区 | 静态区,存储静态资源,常量等 |
非RAM存储 | 流对象:对象转换为字节流,发送给另一个机器 |
基本类型:基本类型不通过new创建,也并非是对象,而是直接创建变量,存放栈中。
包装类:为了将基本类型纳入对象的使用范畴,加入包装类。基本类型和包装类可以在程序中自动拆 箱装箱。
高精度数字:java提供两个高精度计算的类;
1、BigInteger:任何精度的整数;
2、BigDecimal:任何精度的定点数;
5、生命周期:
1、初始化:
基本类型:
a、当基本类型作为成员变量的时候,可以默认初始化,即0和false;
b、当基本类型作为“局部”变量时,系统不会默认初始化,一旦使用未经初始化的变量,编译出错。
引用:
a、当引用做作对象的字段(成员变量)时,默认初始化null;
b、当引用作为“局部变量”时,系统不会默认初始化,使用即编译error;
静态变量:成员变量时默认初始化,“局部变量”(方法内部)时无法定义;
对象:通过无参有参的构造器进行初始化;
2、作用域{}
java中的作用域由包裹变量的{}决定。
局部变量和成员变量:
1、同一作用域不同变量形式可以同名,默认调用局部变量;
2、同一作用域同一变量形式不能同名;
引用和对象:
1、引用的作用域由{}决定;
2、引用销毁不等于对象销毁,引用的作用域之外对象依然存在,依靠GC回收。(因为对象的使用依靠引用的调用,不同引用指向同一对象,所以引用作用域为{}而对象却依靠GC回收)
静态变量:作用域依然是{};但是静态变量的生命周期贯穿程序始终。
6、静态资源(static):
1、类可以直接调用,类数据和类方法;
2、类的实体对象调用(注:静态资源只有一份,不同对象调用的依然是同一份静态资源)。
7、注释:
1、注释方式:
行注释 //内容
多行注释 /*内容*/
文档注释:用于生成技术文档
/**
*@author
*@version
*@docRoot
*@param
*……
*/