脚本宝典收集整理的这篇文章主要介绍了《Java编程思想》笔记01------一切都是对象,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一、引用操纵对象
在Java的世界里,一切都被视为对象。操纵的标识符实际上是对象的引用,
例如:遥控器与电视的关系。
可以在没有对象关联的情况下,拥有一个引用。没有电视机,也可以拥有遥控器。
eg:
String s1; //此时创建的只是引用,而不是对象。
如果此时向s1发送一个消息,会报错。因为s1实际上并未与任何事物关联。
安全的做法,创建一个引用的同时便进行初始化。
String s2 = "qwer";
二、存储
Java内存分配:
- 寄存器:最快的存储区,位于存储器内部,无法直接控制,由寄存器根据需求进行分配。
- 栈:位于Ram(随机访问存储器)中,通过堆栈指针进行操作。指针下移,分配新的空间,指针上移,释放内存。特点:创建程序时,需要知道存储在栈内所有数据的确切生命周期,以便上下移动堆栈指针。
- 堆:通用的内存池,用于存放所有的Java对象。特点:程序不需要知道数据在堆中的生命周期。用堆进行存储分配和清理可能会比用栈进行存储分配更耗时。
- 常量存储:直接存储在程序代码内部。(某些嵌入式系统中,常量存储在只读存储器)
- 非RAM存储:数据完全存储于程序之外。流对象和持久化对象。
三、基本数据类型
基本类型 大小 最小值 最大值 包装器类型 boolean - - - Boolean char 2字节 0 2^16-1 Character byte 1字节 -128 127 Byte short 2字节 -2^15 2^15-1 Short int 4字节 -2^31 2^31-1 Integer long 8字节 -2^63 2^63-1 Long float 4字节 IEEE754 IEEE754 Float double 8字节 IEEE754 IEEE754 Double void - - - Void
四、static关键字
应用场景:
1.只想为某特定域分配单一的存储空间,而不去考虑究竟要创建多少对象
2.希望某个方法不与任何对象关联
将static关键字放在定义之前,可以在不创建任何对象的情况下调用静态方法/静态变量
eg:
public class statictest { @Test public void test() { DemoClass dClass1 = new DemoClass(); DemoClass dClass2 = new DemoClass(); dClass1.staticNum = 2048; System.out.PRintln(dClass2.staticNum); //输出2048。因为,dClass1.staticNum、dClass2.staticNum指向同一块内存空间 //除了通过对象引用静态变量,我们还可以通过类直接引用静态变量 System.out.println(DemoClass.staticNum); StaticIncrement.staticNumIncrement(); System.out.println(DemoClass.staticNum); } } class DemoClass { static int staticNum = 1024; } class StaticIncrement { static void staticNumIncrement() { DemoClass.staticNum++; } }
以上是脚本宝典为你收集整理的《Java编程思想》笔记01------一切都是对象全部内容,希望文章能够帮你解决《Java编程思想》笔记01------一切都是对象所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。