《JAVA编程思想》-第2章:一切都是对象
来源:互联网 发布:mac os 系统安装 编辑:程序博客网 时间:2024/05/17 05:17
知识点内容
用引用操纵对象
请知道,每种语言都有自己操纵内存中元素的方式。例如:c,c++使用指针在Java中得到简化,采用单一固定的语法:“引用”。
例如你想操纵一个词或句子,可以创建一个String类型的 引用, 如 String s;
String是数据类型,s是引用名。
然后给这个引用进行赋值 s="这是一个句子。"
这样s引用就可以操纵这个句子了。
以上创建和赋值过程可以简化成一步:String s="这是一个句子。"
整个过程称为创建引用并初始化 这是一种安全的做法,在创建引用同时初始化它。
初始化引用的过程就引用与对象进行关联的过程。
创建对象:必须由你创建所有对象(Object)
new操作符
创建对象的操作符:new ,意思是“给我一个新对象”,上一个例子可以改写成如下String s=new String("这是一个句子。");
存储到什么地方?
Java程序运行时:对象怎样安排放置?内存怎样分配?
有五个不同的地方可以存储数据:
1. 寄存器。 这是最快的存储区,是处理器内部,数量有限。
2. 堆栈。 速度仅次于寄存器,这里存储Java对象引用。
3. 堆。 通用内存池,用于存放所有Java对象,在堆里分配存储有很大灵活性。
4. 常量存储。 常量值通常直接存放在程序代码内部。字面常量字符串会存放到静态存储区。
5. 非RAM存储。 在程序没有运行也可以存储,例子如:流对象,持久化对象
特例:基本类型
基本类型存放在堆栈中,直接存储“值”。不需要使用new创建。
Java确定每种基本类型所占存储空间的大小,更具移植性。
在类成员中基本数据类型,如果没进行初始化赋值,它们将会有默认值。
永远不需要销毁对象
在Java语言中,基本类型 和 对象是有不一样生命周期的,对象存活的作用域scope比基本类型的更大。
{ String s = new String("a string"); }
当new创建一个Java对象时,它可以存活在作用域之外。例如上面的例子,当引用s在作用域终点就消失了。然而s指向的String对象还继续占据内存空间。
像这种情况,我们会问如果Java让对象继续存在,那如何能防止这些对象填满内存空间呢?
答案是:Java有一个垃圾回收器,用来监视用new创建的所有对象,并辨别不会再被引用的对象。随后,是否这些对象的内存空间,以便其他新对象使用。你根本不必担心内存回收问题。
创建新的数据类型:类class
类:是决定某一类(组)对象的外观(属性,字段)和行为(方法),也是确定了对象的类型。 如下是定义一个类的大概结构:
class DataOnly{ int i;//成员属性 double d; boolean b; void methodName(String param){};//成员方法}
class 是关键字,DataOnly 是类名, 它包含 成员属性和成员方法。
方法:参数和返回值
一个类中有各种方法:如成员方法,构造方法,静态方法。他们都有不同的使用功能,在后面内容会一样分析讲解,下面是大概形式:
ReturnType methodName(Argument list){ Method body;}
方法名和参数列表唯一的标识出某个方法。
参数列表:指定要传递给方法声明样的信息。
返回值:需要使用return关键字,当声明为void方法的返回值类型,将无信息返回,否则需要使用return进行返回相应类型的信息。
小结
第一次使用markdown进行写博客和对阅读的书籍进行读书笔记的总结,速度有点慢,但自己要坚持和积累,在这一章中还有数组,Static关键字的说明讲解,我将它们合并在后面的章节一起总结梳理。
- Java编程思想:第2章 一切都是对象
- java编程思想第2章:一切都是对象
- Java编程思想第2章:一切都是对象
- Java编程思想读书笔记:第2章 一切都是对象
- 《Java 编程思想》-第2章 一切都是对象 笔记
- [学习笔记][Java编程思想]第2章:一切都是对象
- 《JAVA编程思想》-第2章:一切都是对象
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习1
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习3
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习4
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习5
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习6
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习8
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习9
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习11
- java编程思想(第四版)_第2章 一切都是对象
- Java编程思想学习笔记(一) 第2章 一切都是对象
- 《Java 编程思想》--第二章:一切都是对象
- 观察者模式
- leetcode 698. Partition to K Equal Sum Subsets
- 删数问题
- iOS OC动态运行时(runtime)~动态特性表现
- 直接可以用的Python和OpenCV检测及分割图像的目标区域例子
- 《JAVA编程思想》-第2章:一切都是对象
- WebViewJavascriptBridge 源码
- C++ 运算符
- 算法系列——二分查找算法及其变体总结
- 面向对象程序设计上机练习十(运算符重载)
- Callable和Future
- CSDN技术记录之路开始了
- 无法打开文件"libboost_thread-vc141-mt-sgd-1_65_1.lib"
- Python中os与sys两模块的区别