美文网首页
Java编程思想(二) 一切都是对象

Java编程思想(二) 一切都是对象

作者: kaiker | 来源:发表于2022-06-04 15:04 被阅读0次

1、用引用操纵对象

  • 一切都被视为对象,但操纵的标识符实际上是对象的一个引用。
  • 拥有一个引用,并不一定需要有一个对象与它关联。 String s;

2、必须由你创建所有对象

存储到什么地方

  1. 寄存器。最快的存储区。不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
  2. 堆栈。位于通用RAM。通过堆栈指针可从处理器哪里获得直接支持。创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。对象的引用存在堆栈,对象本身不存在这里。
  3. 堆。一种通用内存储。用于存放所有的Java对象。编译器不需要知道存储的数据在堆里存活多长时间。堆的分配灵活性很强,但分配与清理更花时间。
  4. 常量存储。常量通常存储在程序代码内部。
  5. 非RAM存储。比如流对象、持久化对象。

特例:基本类型

  • 基本类型直接放在堆栈里。
  • 基本类型大小是固定的。
  • 基本类型具有包装器类,使得可以在堆中创建一个非基本对象。

Java数组

  • Java确保数组会被初始化,而且不能在它范围之外被访问。这种范围检查,是以每个数组上少量的内存开销及运行时的下标检查为代价的。

3、永远不需要销毁对象

{
    String s = new String("a string");
}
  • 引用s在作用域终点就消失了,然而s指向的String 对象仍然继续占据内存空间。
  • Java有一个垃圾回收器,用来监视new创建的所有对象,并辨别那些不会再被引用的对象。

4、创建新的数据类型:类

  • 一旦定义了一个类,就可以在类中设置两种类型的元素:字段和方法。字段可以是任何类型的对象,可以通过其引用与其进行通信,也可以是基本类型中的一种。

5、方法、参数和返回值

  • Java的方法决定了一个对象能够接收什么样的消息。
  • 调用方法的行为通常被称为发送消息给对象。a.f() 对象是a,消息时f()。、

参数列表

  • 参数列表传递的是引用。

6、构建一个Java程序

名字可见性

  • Java设计者希望程序员翻过来使用自己的Internet域名。 com.xxx.xxx。

static关键字

  • 当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。
  • 即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。
  • static字段对每个类来说都只有一份存储空间,非static字段则是对每个对象有一个存储空间。

相关文章

网友评论

      本文标题:Java编程思想(二) 一切都是对象

      本文链接:https://www.haomeiwen.com/subject/hjwkmrtx.html