02 一切都是对象

来源:互联网 发布:中文顶级域名注册 编辑:程序博客网 时间:2024/05/16 09:49

1、用引用操纵对象

      在java中我们操纵的标识符实际上是一个对象的一个“引用”。

       String s; 

       这里创建的只是引用,并不是对象,若是使用会报运行时异常,因为它并没有指向任何对象。

       String s = new String("asdf");

       创建一个引用,并指向创建的对象。

      

      面试题:引用与指针的区别?


2、数据存放的位置

      有5个地方可以存放数据:1)寄存器;2)堆栈;3)堆;4)常量存储;5)非RAM存储

      对象存放于堆(通过new);

      基本数据类型存放于堆栈(变量特别小,置于堆栈中更加高效);

      常量存放于ROM(只读存储器)中

      

3、基本类型的存放

      基本类型也叫原始类型。存放在堆栈中。

      重要说明:java中的基本类型所在存储空间大小是固定的,不会像其他语言(C)随着机器硬件架构不同而变化。

                             

                                               图1:基本数据类型

       1)自动包装功能可以将基本数据类型自动转换为包装器类型;也可以反向转化。

       2)高精度数字<防止操作溢出的类>

            BigInteger           对应于int的操作;表示任何大小的整数值,不会丢失信息

            BigDecimal         对应于float的操作;表示任何精度的定点数,可用来表示货币计算

            说明:它的任何操作是方法进行,速度比基本类型用运算符慢。

       笔试常考:short、int、long的取值范围


 4、如何销毁对象?

       在java中,对象的销毁是java虚拟机自动完成的。

       1)作用域:由{}的位置决定,

       对于基本类型,运行完{}里面的代码后,自动销毁。

       对于引用类型,运行完{}里面的代码后,不会销毁,引用指向的对象仍继续占据内存空间。

                                   然而java有一个垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再被应用的对象,随后释放这些对象的内存空间。

             

5、对象基本成员的默认值

      为了防止出错,java为对象的基本成员提供了一个默认值。

      若类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值。

          

                              图2:基本类型默认值

      note:类的引用类型初始值是null

6、static的部分说明

        声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。

        类方法,类数据

        每一个static字段对每个类来说只有一份存储空间,所有的类实例共享这一份空间。


7、三种注释

      //code . . .               行注释

     /* code. . . */            块注释

     /** */                         注释文档


8、注释文档常用标签

     @See   引用其他的类

     @version  当前版本

     @author  作者

     @since   早期使用的版本

     @param  参数列表标识

     @return  方法返回

     @throws  异常抛出

     @deprecated  过时










1 0