关闭

java简单总结1(对象的基本概念)

标签: javareferenceobjectcharacterconstructorstring
701人阅读 评论(0) 收藏 举报

1.每个程序语言都有其独特的数据操作方式,必须关注其型别(type,你实际是直接操作对象,或是通过某种中介形式。而在java中大大简化了,所有事物都被视为对象,但是以操作对象的标识符是“Reference.

2.Referenceobject之外独立存在,你可以拥有某个Reference,却不见得要将它连接至某个对象。

3.String s:这样只会产生一个Reference,不会产生实际的对象,因此此刻将消息传给s,执行时期便发生error.

4.New :可将某个Reference连接到某个新产生的对象中,故new的意思是“请给我一个新对象”。

5.存储数据的位置:registers(CPU),stack(Reference),heap(Object),static storage(RAM),constant storage(ROM),NON-RAM storage(streamed objects/persistent objects).

6.基本型别:如果用new来产生这一类极小极简单的变量会因“new将对象置于heap之上”而效率不高。而是用一种所谓的“automatic”变量(不是Reference)来解决效率问题,置于statck.

7.基本型别有所谓的“外覆类(wrapper class)”。他可以在heap中产生可以代表该基本型别的非原始对象(nonprimitive object)。

   character  c = new character(“X”);

8.Array: C/C++中,array其实就是一块内存而已而已,但容易造成出界,溢出等error,而是java中将保证数组一定会被初始化,而且对数组的访问无法逾越其范围。代价是每个数组得额外多出一点点空间,并在执行期间对其索引值检索。

9.在使用任何Reference之前,必须给他指派对象,如果使用的某个Referencenull,会在执行期发生error

10.                    对象的Scoping(生存空间)

{

       String s = new String(“xxxx”);                            

      }

            s 这个Reference将在这个Scoping之外消失无踪,但用new来产生的JAVA  对象仍然存在。   

11.                    回收器(garbage collector)它会逐一检视所有通过new产生的对象,当不再有任何Reference指向他们时,他便会释放这些对象。

12.                    数据成员:当是一个object Reference,那就得在其构造函数种为该Reference进行初始化动作,籍以连接某个实际对象。

13.                    Return: 1.离开这个method, 2,返回值。

14.                    某个class除非以new来产生对象,否则并不存在任何实质的对象。产生对象之际,才会为其分配存储空间,其Datamethod才可供外界使用。 例如:System.Out.Println( new Data()) 在这个语句执行完毕,产生出来的DATA对象再也不会被使用了,因此garbage collector便会在适当的时机将这个对象所占有的空间收回。

15.                    如果自行定义任何一个构造函数(不论有无引数),编译器就不会为你在default构造函数。

16.                    以构造函数(constructor)确保初始化的进行。Java中“定义”和“初始化”是一体的,两者不能彼此脱离而独立存在。

17.                    当你传递某个object是,实际上传递的是一个Reference,而你把Reference传入函数,Reference仍然会指向原先所指的同一对象。

18.                    Aliasing(别名):代表的意思是多个Reference被绑定到同一对象。不要在同一范围(SCOPING)中产生一个以上的Reference别名。不过,当你将Reference当作引数,便会自动产生别名,因此被产生出来的局域性的(LOCALReference可以修改外界对象(此对象在method范围之外被产生出来) 注意点 :1) 引数传递过程中会自动产生别名(alias); 2)没有局域网对象(local objects,只有局域性的local Reference 3Reference受范围(scoping)的限制,对象则没有;4)对象的寿命从来不是java讨论的议题。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:157752次
    • 积分:2345
    • 等级:
    • 排名:第15935名
    • 原创:70篇
    • 转载:13篇
    • 译文:0篇
    • 评论:20条
    最新评论