程序员成长日记之(一)从渣渣到菜鸡

day_02《Think in Java》读书笔记(一切都是对象)

“如果我们说另一种不同的语言,那么我们就会发觉一个不同的世界”

2.1 用引用操作对象
在Java中操纵的标识符实际上是对象的一个“引用”(reference)
该引用不一定需要有一个对象与他关联。(遥控和电视机)

String s;
System.out.print(s);
//运行时错误,没有初始化,实际上这个s,并没有所谓的对象
String s = "asdf";
System.out.print(s);
//控制台打印asdf,创建引用的同时进行初始化

2.2 必须由你创建所有对象
new操作符意为“给我一个对象”

String s = new String("asdf");
2.2.1 存储到什么地方
1)寄存器。位于处理器内部,数量有限,按需分配;
2)堆栈。位于通用RAM(随机存储器),存储Java对象的引用;
3)堆。通用RAM,存放所有Java对象,使用new操作符为对象在堆中开辟空间;
4)常量存储。常量值直接存放在Java代码内部,不会被改变;
5)非RAM存储。流对象,源数据;

2.2.2 特例
基本类型:boolean、char、byte、short、int、long、float、double、void;对应的包装器首字母大写(int包装类Integer)
高精度数字:BigInteger:任意精度的整数;BigDecimal:任意精度的浮点数;(详见JDK文档,大多是银行使用)

2.2.3 Java中的数组
Java中的数组对象被创建时,就是创建一个引用数组,必须初始化;不初始化数组里的值为null,运行时报错;

2.3 永远不需要销毁对象

2.3.1 作用域
{
	//x scope
	int x=1;
	{
		int y=2;
		/*x,y scope*/
	}
	//y out of scope
}
Java是一种free-form风格语言,空格、制表、换行不影响执行结果;

2.3.2 对象的作用域
{
	String s = new String("asdf");
}//end of socpe 只是s消失了,但是s指向的String对象依然占用内存空间
只要使用new创建了对象,对象便会一直生存下去,直到“垃圾回收”机制运行;

2.4 创建新的数据类型:类

//A类被创建
class A{
	//class body
}
//A类的引用a被创建
A a = new A();
2.4.1 字段和方法
字段:数据成员(任何类型的对象,包括基本类型)
方法:成员函数
class B{
	int x;
}
//创建对象的引用
B b = new B();
//通过 . 访问B类中的成员或方法
b.i=1;
基本成员默认值:
当变量作为类成员变量使用时,Java才确保给定其默认值
int>0、boolean>false、char>\u0000、byte>(byte)0、short>(short)0、long>oL、float>0.0f、double>0.0d

2.5 方法、参数和返回值
方法(函数):“做某些事情的方式”;

returnType methodName(/*arg List*/){
	//method body
}
//通过对象调用方法
objetName.methodName(/*arg List*/);
//或者当f()没有参数列表,返回类型为int;放回类型必须与x的类型兼容
int x=a.f();
//f()是消息,x是对象,归纳为“向对象发送消息”
	returnType:调用方法后从方法返回的值;
	arg List:要传给方法的信息的类型和名称;
	methodName + arg List:“方法签名”,唯一标识出某个方法;
	方法只能作为类的一部分创建;方法只有通过对象才能被调用(static方法除外),且这个对象必须能够执行这个方法的调用。
	
	2.5.1 参数列表

2.6 构建一个Java程序
2.6.1 名字可见性
避免冲突,反过来使用自己的域名,例如:com.zhzha.TestDome.pojo.A,实体类A的路径;
2.6.2 运用其他构件
import导包(类库)例如:import java.util.List; 或者 import java.util.*;
2.6.3 static关键字
只想为某特定域分配单一存储空间,或者希望某个方法不包含与其他的类的对象关联在一起;
也就是说没有创建对象,也能够调用这个方法;
通过static关键字定义即可满足以上要求;
static变量引用,对象 . static变量/方法;类名 . static变量/方法(首选方法)
main()是运行一个应用时的入口(不需要创建对象就可以调用)

2.7 你的第一个Java程序
学习Java五个月之久,基础一直不牢靠,依靠一本书整理自己之前所学,温故而知新,勉励自己,
文件中必须存在一个类名与之名字相同,且该类含有main()方法
2.7.1 编译和运行
编译需要JDK(Java Developer`s Kit,Java开发人员工具包)环境;
然后就是搭建环境变量;

2.8 注释金额嵌入式文档
2.8.1 注释文档
javadoc时JDK自带用于提取注释文档的工具;
2.8.2 语法
单行注释://…
多行注释:/……/
文档注释:/**……*/(javadoc生成注释文档)
2.8.3 嵌入式HTML
所有类型的注释文档,都支持嵌入式HTML
2.8.4 标签实例
会看就行,知道有这么个东西;

2.9 编码风格
参考本公司项目开发手册

2.10 总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值