首先,java是一种比c++更纯粹的面向对象的语言。
1.用引用去操纵对象。
什么是引用?举个很简单的例子,电视是一个对象(说严谨点的话,应该是电视是一个类,我家的电视是一个具体的对象实例),那我要操纵电视时,比如调高声音,我有两种方法:用遥控器或者直接按电视上面的增大声音键。其中,用遥控器就是一种引用,操纵对象时通过引用来控制实际的对象,引用也可以单独存在,不指向一个具体的对象实例,String s ,string类型引用数据类型,但并没有对象与它关联,所以,s=“abcdf”,将具体的字符串abcdf给这个引用s,就像是给遥控器指定它能遥控的电视是你家的一样。
变量类型有两大类:基本数据类型(bool char byte short int long float double),这些类型的变量,如果你通过new创建一个对象,往往用处不大,因为他们仅仅表示一个值,没有方法,因此直接存储在栈内存中,而new出来的对象要存在堆中。
注意:基本类型也有对应的包装类,比如Integer,Character,其他把首字母大写即可。
2.java数组和c数组的区别
c语言的数组存在潜在的危险性,因为没有越界检查,数组就是一个内存块,若一个程序访问其内存块之外的空间,或者没有初始化就使用空间,都会引发不可预知的后果。
java就不存在这个问题,它有越界检查,安全性有保证。
3.释放空间的问题,c++当一个对象不使用后,需要delete去释放这个内存空间,但是java不需要,因为它有一个垃圾回收机制(GC),去监视哪些new出来的对象是否已经不在使用,程序员不必关心内存释放的问题。
原文:http://11907435.blog.51cto.com/11897435/1890244