Java编程思想读书笔记(2):对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hf19931101/article/details/82914481

Java编程思想读书笔记(2)

二.对象

  1. 把一切都当成是对象来处理,用reference来操控对象。reference可单独创建,使用时需使其跟某个对象相关联。使用new来创建对象使其同reference相关联。

  2. 数据可以存储在以下六个地方:

  1. 寄存器:在处理器里,反应最快,由编译器分配,数量有限,不能直接控制。
  2. :在常规内存区里,通过栈指针对其进行访问,速度仅次于寄存器,存储的数据的大小和生命周期必须是已知的。通常将对象的reference存在其中而不直接存储对象。
  3. :多用途的内存池。所有对象都保存在堆里,可动态分配数据大小和生命周期,存储分配和清理比栈慢一些。
  4. 静态存储:里面的数据在整个程序运行期间都能访问,使用static来指明。
  5. 常量存储:常量值存储,例如字符串池。
  6. 非内存的存储:数据独立于程序。例如:流对象和持久化的(persistent)对象。
  1. Primitive类型:
Primitive类型 大小 最小 最大 Wrapper类型
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 Shot
int 32-bit -2^31 +2^32-1 Integer
long 64-bit -2^63 +2^63-1 Long float
double 64-bit IEEE754 IEEE754 Double
void Void

高精度数据:BigInteger和BigDecimal,它们属于“包装容器类”。

BigInteger:支持任意精度的整数。

BigDecimal:支持任意精度的浮点数。

  1. Java确保数组会被初始化,并且不能在它的范围之外被使用。创建对象的数组时,实际上是在创建reference数组。这些reference会被自动的初始化为null。

注:如果使用一个null的引用,在运行时将会报错。

  1. Java中不允许将一个较大的作用域变量隐藏起来的做法。如下面的定义是不合法的。
{  int x = 12;    {  int x = 90;  //illegal }     }
  1. 类的字段。基本成员默认值:
基本类型 默认值
boolean false
char ‘\u000’(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d

对于局部变量,Java同样没有默认值(同C++),但是编译时会报错,而C++仅仅是给出警告。

  1. 通过static关键字可以满足两种情形:
  1. 只想为某特定域分配单一存储空间,而不去考虑要创建多少个对象,甚至根本就不创建任何对象
  2. 希望某个方法不与包含它的类的任何对象关联在一起。
  1. main()函数
public static void main (String[ ] args)

java在命令行运行的时候要用到java命令:

java Test value1 value2

后面就是两个参数,在main里面args[]就是2个长度的数组,其中value1存在args[0]中,value2存在args[1]中。

  1. javadoc标签
  1. @see:引用其他类。允许用户引用其他类的文档
  2. {@link package.class#member label}:同上一个标签类似,只是它用于行内
  3. {@ docRoot}:产生到文档根目录的相对路径,用于文档树页面的显示超链接。
  4. {@inheritDoc}:从当前这个类的最直接的基类中继承相关文档到当前的文档注释中
  5. @version: 格式:@version version-information
  6. @author: 格式:@author author-information
  7. @since: 指定程序代码最早使用的版本
  8. @param:用于方法文档中,形式如下:@param parameter-name description
  9. @return:用于方法文档,格式:@return description
  10. @throws:说明异常,格式:@throws fully-qualified-class description
  11. @deprecated:指出一些旧特性已由改进的新特性所取代,建议用户不要再使用。

猜你喜欢

转载自blog.csdn.net/hf19931101/article/details/82914481