Think in java随手笔记--------一切都是对象
众所周知,java这门语言的核心便是面向对象,那么,在java中,对象是什么呢?相对于c++来说,java基于c++,但是java是一种更纯粹的面向对象程序设计语言。学习java这门语言,必须透彻的理解OOP的概念,在java中,(几乎)一切都是对象,在Think in java中,第二章便透彻的说明了对象这个名词,以下是我对于这一章内容的理解。
一切都是对象
- 1.用引用操纵对象
- 每种编程语言都有自己的操纵内存中元素的方式
- java通过创建一个引用来操纵对象 例如以下
String s;
s.run();
其中s为创建的引用,利用s来操纵对象,当向s发送一个消息时,s开始调用run()方法。
- 2.必须由你创建所有对象
- 对象的存储
- 寄存器:最快的存储区,但是数量有限,不能够直接控制,寄存器会根据需求自动分配
- 堆栈:快速有效的存储方式,速度仅次于寄存器;堆栈指针向上移动,释放内存,堆栈指针向下移动,分配新的内存;java对象并不存储在堆栈内
- 堆:一种通用的内存池,用于存放java对象
- 常量存储:用于定义并存储常量
- 非RAM存储
- 基本类型(基本类型表见文章最后)
- boolean 类型所占的存储空间大小没有明确的指定,但是定义只能取true和false
- java提供了两个可以用于高精度计算的类:BigInteger和BigDecimal
- BigInteger支持任意精度的整数
- BigDeciaml支持任意精度的定点数
- java中的数组
- 每当定义一个数组,如果并未赋值,默认数组为空,并不会报错
- 3.永远不需要销毁对象
- 作用域
{
int x = 12;
//Only x available
{
int q = 96;
//Both x&q available
}
//Only x available
//q is "out of scope"
}
- 定义过的变量不可以重复定义(c++中可以但是java中不允许)。例如:
{
int x = 12;
{
int x =96;//不合法
}
}
以上的例子不合法。
- 对象的作用域
- 当使用new定义一个对象时,对象可以存活于作用域之外,例如:
{
String s = new String("a string");
} //End of scope
以上的代码中,使用new定义了一个String对象,在作用域外,s消失,但是s指向的String对象仍然占据内存空间(如果不理解s指向,请去了解内存分析方面的知识)。
- 4.创建新的数据类型:类
- 5.方法参数和返回值
- 6.构建一个java程序
- 7.你的第一个java程序
- 8.注释和嵌入式文档
- 注释代码
- 语法
- 嵌入式HTML
- 一些标签及其示例
- 文档示例
- 9.编码风格
- 10.总结
基本类型 |
大小 |
最小值 |
最大值 |
包装器类型 |
boolean |
- |
- |
- |
Boolean |
char |
16-bit |
Unicode 0 |
Unicode 2^16-1 |
Character |
byte |
8-bit |
-128 |
+127 |
Byte |
short |
16-bit |
-2^15 |
+2^15-1 |
Short |
int |
32-bit |
-2^31 |
-2^31-1 |
Integer |
long |
64-bit |
-2^63 |
-2^63-1 |
Long |
float |
32-bit |
1EEE754 |
1EEE754 |
Float |
double |
64-bit |
1EEE754 |
1EEE754 |
Double |
void |
- |
- |
- |
Void |
基本类型 |
默认值 |
boolean |
false |
char |
'\u0000'(null) |
byte |
'(byte)0' |
short |
'(short)0' |
int |
0 |
long |
0L |
float |
0.0f |
double |
0.0d |
本文标题:Think in java随手笔记--------一切都是对象
本文链接:https://www.haomeiwen.com/subject/lxiouttx.html
网友评论