《Java编程思想》笔记01------一切都是对象

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了《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,请注明来意。