Java笔记整理:一切都是对象

Java笔记整理:一切都是对象

引用操纵对象

  • 操纵对象的标识符是其引用
  • 引用不一定会与一个对象关联

创建对象

使用new操作符创建新对象

对象存储

  1. 寄存器:最快的存储区,位于处理器内部,不能人为控制
  2. 堆栈
    • 指针向下移动,即分配内存,向上移动,即释放内存
    • 速度仅次于寄存器
    • 编译时确定,灵活性较差
    • 对象引用位于堆栈中,对象不在堆栈中

    • 用于存放所有JAVA对象
    • 编译器不需要知道数据的生存期,灵活性较好
    • 内存分配和释放比堆栈要慢
  3. 常量存储:常量保存在常量池,位于方法区内。垃圾回收器不会干涉方法区
  4. 非RAM存储
    • 流对象:对象转换成字节流进行发送
    • 持久化对象:对象存放在ROM上

基本类型

不需要new进行创建
创建的是自动变量,不是引用,该变量直接存储值,置于堆栈中

基本类型大小最小值最大值包装器类型
boolean---Boolean
char16-bitUnicode 0Unicode 2161 Character
byte8 bits-128+127Byte
short16 bits 215 +2151 Short
int32 bits 231 +2311 Integer
long64 bits 263 +2631 Long
float32 bitsIEEE754IEEE754Float
double64 bitsIEEE754IEEE754Double
void---Void

没有无符号的数值类型
boolean类型没有确定的大小

数组

JAVA确定数组一定会被初始化,而且不能越界访问
对象初始化为null,基本数据初始化为0

永远不需要销毁对象

作用域

作用域由花括号框定
作用域内不能有子作用域
离开作用域后,对象依然存在,会由垃圾回收器销毁

基本类型成员会自动被初始化
基本成员默认值

基本类型默认值
booleanfalse
char‘\u0000’(null)
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d

局部变量不会被初始化(未初始化变量会引发编译错误)

方法

传递的参数实际上是引用


JAVA没有“向前引用”问题,即类和方法的使用与定义位置无关
java.lang是默认导入到java文件中的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值