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 总结
转载:https://blog.csdn.net/UU891101801/article/details/104545154