JAVA编程思想学习笔记(二)一切都是对象

一切都是对象

用引用操作对象

用一个类名,声明一个变量,就是声明了一个引用,比如类String

String s;

s就是类String的一个引用,引用并不是一个对象,但是它是可以控制相应的对象,相当于遥控器。引用不会分配存储空间,new个对象之后才会分配空间。

必须由你创建所有对象

有5个不同的地方可以存储数据:

  1. 寄存器
    最快的存储区,但是不能直接控制。
  2. 堆栈
    位于通用RAM,通过堆栈指针使用,指针下移分配新内存,上移释放内存。是一种快速有效的分配存储方法。特别的,对象的引用存放在这里。

  3. 一种通用内存池,用于存储所有JAVA对象。
  4. 常量存储
    常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会
    被改变。
  5. 非RAM存储
    如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。两个基本例子就是流对象持久化对象
    特例,基本类型:
    对于基本类型,与c相同,创建一个并非引用的变量,这个变量的值存储在堆栈中。基本类型都有包装器类,使得可以在堆创建一个非基本对象。
    在这里插入图片描述
    除此之外,还提供了两个高精度计算的类:BigInteger和BigDecimal

永远不需要销毁对象

在java里,不用像C++那样,考虑对象的销毁问题。垃圾回收器机制帮助程序员监控每一个用new生成的对象,一旦一个对象不会再引用了,就会自动销毁该对象。

创建新的数据类型:类

类用class关键字来定义,类的成员变量会有默认值,即不初始化也不会像C++那样得到任意值,虽然有时候这个默认值对于你的程序来说,并不适用。
默认值表如下:
在这里插入图片描述
另外,值得注意的是:只有类的基本成员变量会有默认值,如果是一个局部变量,即非类的成员变量的话,这个变量的值得到的也可能是任意值。

static关键字

static定义静态成员变量和静态方法,static声明的变量和方法,是这个类所有对象共享的,同时可以不创建对象,可以直接使用类名进行调用。例如:

class A{
	static int i=1;
}

A a=new A();
a.i++;
A.i++;

最后输出i的值为3,因为无论是对象还是类名,指向的都是同一个i。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值