《Java编程思想》第二章 一切都是对象
来源:互联网 发布:淘宝直通车托管协议 编辑:程序博客网 时间:2024/05/06 22:23
对象引用类型和基本类型
二、Java程序的存储区域
1、寄存器
2、堆栈
3、堆
4、常量存储
5、非RAM存储
基本类型和对象引用(String a)存储在堆栈中
对象(new String("hello world"))存储在堆中
字面常量字符串和具有字符串值的常量表达式被存放在常量存储中
举例来说:
int a=5;a这个变量存储在堆栈中,它的值为5;
String a=new String("hello world");String b=a;"hello world"这个字面常量字符串存储在常量存储中new String("hello world")对应的对象存储在堆中a这个变量存储在堆栈中,它的值为new String("hello world")对应的对象的引用地址b这个变量存储在堆栈中,它的值为a的值,即为new String("hello world")对应的对象的引用地址
三、基本类型:
Java中一共有9种基本类型,这些基本类型所占用的存储空间都是固定的,这个特性也使得Java程序比其他语言的程序更具有可移植性。每种基本类型都有对应的包装器类,基本类型和对应的包装器类之间能够互相转换。
关于基本类型的信息如图1所示:
图1
所有数值类型都有正负号,所以不要去寻找无符号的数值类型
boolean类型所占用的存储空间没有明确指定,仅定义为能够取字面值true和false
float和double都符合IEEE754标准
另外在Java的Float类中有如下静态变量:
Float.MAX_VALUE:表示最大正值,最大负值为"-Float.MAX_VALUE"
Float.MIN_VALUE:表示最小能够取到的正数值,这个名称取得很有歧义。注意,0不是正数
Float.MAX_EXPONENT:表示最大能够取到的科学计数法中的指数值
Float.MIN_NORMAL:表示最小能够取到的科学计数法中的底数值
Double类中的相应静态变量类似。
四、作用域
在C和C++中,将一个较大作用域的变量“隐藏”起来的做法,在Java里是不允许的比如
{ int x = 12; { int x = 96; }}在C和C++中被允许,但是在Java中不被允许
另外:
只能存活于作用域内:基本类型和对象引用(存储在堆栈中)
可以存活于作用域外:对象(存储在堆中)
五、创建新的数据类型:类
类中包含“字段”和“方法”字段如果是基本类型,Java确保给定默认值,具体如图2所示:
图2
方法由“方法名”和“参数列表”唯一进行标识
普通字段和方法跟类的对象相关
静态字段和静态方法跟类相关
注释有两种语法:
/*...*/和//
JavaDoc标准使得文档和代码处于同一个源文件,有利于维护。
JavaDoc处于"/**"和"*/"之间。
8.1、语法
包含两种方式:嵌入HTML和文档标签。
8.1.1、文档标签
文档标签是以'@'开头的命令,可细分为“独立文档标签”和“行内文档标签”。
独立文档标签可以出现于JavaDoc中每一行的第一个*后面,如下所示:
/** * @author dslztx */
生成的HTML文件中相对应的内容如图3所示:
图3
常见的独立文档标签有@see,@version,@author,@since,@param,@return,@throws
/** * 你好,这是JavaDoc{@docRoot} 测试 */
生成的HTML文件中相对应的内容如图4所示:
图4
常见的行内文档标签有{@link package.class#member label},{@docRoot},{@inheritDoc}
直接将HTML语句传递给最终生成的HTML文件中。
现在有如下内容的JavaDoc内容:
/** * 测试HTML语句<br/> * <ol> * <li>Item One * <li>Item two * <li>Item three * </ol> */
生成的HTML文件中相对应的内容如图5所示:
图5
生成的HTML文件的源代码中含有如下内容:
<P>测试HTML语句<br/> <ol> <li>Item One <li>Item two <li>Item three </ol><P>
8.2、输出
JavaDoc的输出是一个HTML文件。
在Java中,在某处可以使用在其后定义的资源,即解决了“向前引用”问题。
在每个.java文件中,默认包含“import java.lang.*”语句
System.out.println(System.getProperties());可以打印Java程序运行时所有的环境参数
- 《Java 编程思想》--第二章:一切都是对象
- Java编程思想,第二章:一切都是对象
- JAVA编程思想-第二章 一切都是对象
- 《java编程思想》-第二章,一切都是对象
- 《Java编程思想》第二章 一切都是对象
- 《java编程思想》第二章:一切都是对象
- Java编程思想--第二章 一切都是对象
- java编程思想 学习笔记---第二章 一切都是对象
- Java编程思想个人理解 第二章 一切都是对象
- Java编程思想学习-《第二章 一切都是对象》
- Java编程思想——第二章.一切都是对象
- Java编程思想-第二章-一切都是对象-2.1-2.2笔记
- Java编程思想-第二章-一切都是对象-2.3-2.5笔记
- Java编程思想读书笔记-第二章 一切都是对象
- Java编程思想笔记——第二章 一切都是对象
- java编程思想学习笔记--第二章 一切都是对象
- JAVA编程思想笔记--第二章 一切都是对象
- java编程思想读书笔记-第二章一切都是对象
- Linux中madplay 音乐播放器移植步骤(在redhat中编译)
- HDU 2024 C语言合法标识符(水~)
- 没有能不能,只有要不要
- 数据结构与算法-LeetCode练习二分查找应用
- 线程同步的学习和运用(8.26)
- 《Java编程思想》第二章 一切都是对象
- HDU 2025 查找最大元素(水~)
- 安装版mysql5.6.26-----my.ini配置
- HDU 2026 首字母变大写(水~)
- 嵌入式相关的开源网站和必备软件
- PHP使用Apache中的ab测试网站的压力性能
- HDU 2027 统计元音(水~)
- oracle安装中遇到的问题
- UVa 1608:Non-boring swquences(分治)