JAVA编程思想第四版笔记 二、一切都是对象

二、一切都是对象

2.1 用引用操作对象

遥控器(引用)来操作电视机(对象)

例如String s一个引用对其初始化String s = “asdf"你就可以对s进行操作,此时s没有与任何事物相关联

2.2 必须由你创建所有对象

String s = new String(“asdf”)这里与新的对象关联

2.2.1 存储到什么地方

1.寄存器

最快的存储区,位于处理器内部,按需分配,不能直接控制

2.堆栈

位于通用RAM(随机访问存储器)中。堆栈指针向下移动,分配新内存;向上移动,释放内存。java必须知道存储在堆栈顶内所有项的确切生命周期,以便上下移动。对象引用存储于堆栈中,java对象不存储在这。

3.堆

通用的内存池(位于RAM区),存放java对象;不需知道数据的存活周期,存储分配额清理可能比较花费时间。

4.常量存储

常量通常直接存放在程序代码内部。有时在嵌入式系统,常量本身会和其他部分隔离开,可选择其存放在ROM(只读存储器)中。

5.非RAM存储

例如流对象和持久化对象。流对象中,对象转换成字节流,通常发送给另一台机器。持久化对象中,对象被存放于磁盘上。java提供对轻量级持久化的支持,例jdbc和hibernate机制。

2.2.2 特例:基本类型

基本类型大小最小值最大值包装器类型
boolean---Boolean
char16-bitUnicode 0Unicode 2^16-1Character
byte8 bits-128+127Byte
short16 bits-2^15+2^15-1Short
int32 bits-2^31+2^31-1Integer
long64 bits-2^63+2^63-1Long
float32 bitsIEEE754IEEE754Float
double64 bitsIEEE754IEEE754Double
void---Void

2.2.3 java中的数组

说个大概后期讲

2.3 永远不要销毁对象

2.3.1 作用域

{}作用域里定义的变量只可用于作用域结束之前。

2.3.2 对象的作用域

可存活于作用域之外

2.4 创建新的数据类型:类

class关键字,相当于是一种新的类型,可以用new去创建这种类型的对象。

2.4.1 字段和方法

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

基本成员默认值

基本类型默认值
booleanfalse
char‘\uoooo’(null)
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d

2.5 方法、参数和返回值

方法的基本组成部分包括:名称、参数、返回值和方法体

ReturnType methodName(/*Argument list */){
/* Method body*/
}

2.5.1 参数列表

若返回类型是void那么return只是用来退出方法

2.6 构建一个java程序

2.6.1 名字可见性

这个建议看阿里巴巴开发手册

2.6.2 运用其他构件

import java.util.*;

2.6.3 static关键字

不需创建类的对象,直接类名.即可调用

2.7 你的第一个java程序

2.8 注释和嵌入式文档

/*
*
*/

//

2.8.1 注释文档

javadoc提取注释的工具。不仅能解析这些标签标记的信息,也将注释的类名和方法抽取出来生成好的程序文档。

2.8.2 语法

都已/**开始 ,以 */结束。

2.8.3 嵌入式HTML

所有类型的注释文档-----类、域和方法------都支持嵌入式HTML

2.8.4 一些标签示例

javadoc标签

1.@see:引用其他类

@see classname

允许用户引用其他类的文档。javadoc会在其生成的HTML文件中,通过@see标签链接到其他文档

2.{@link package.class#member label}

该标签与@see极其相似,他用于行内

3.{@docRoot}

该标签产生到文档跟目录的相对路径,用于文档树页面的显示超链接。

4.{@inheritDoc}

该标签从当前这个类的最直接的基类中继承相关文档到当前的文档注释中

5.@version

@version version-infomation

6.@author

你的姓名

7.@since

jdk版本

8.@param

用于方法文档中

@param parameter-name description(可延续数行的文本)

9.@return

用于方法文档

@return description

10.@throws

异常

@throws fully-qualified-class-name description

11.@deprecated

指出旧特性已由改进的新特性所取代

2.8.5 文档示例

/** The first Thinking in Java example program
*Displays a string and today's date
*@author sunrenqiang
*@version 4.0
*/
public class HelloDate{
    /** Entry point to clsss & application
    *@param args array of string arguments
    *@throws exceptions No exceptions thrown
    */
    public static void main(String args[]){
        System.out.println("Hello, it's :");
        System.out.println(new Date());
    }
}/*Output:(55% match)
Hello,it's:
Wed Oct 05 14:39:36 MDT 2005
*///:

2.9 编码风格

类名首字母大写,驼峰形式;其他的所有内容一般是第一个字母小写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙嵓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值