java类的引用和对象的区别 java用类创建一个对象什么时候用new什么时候不用?
java用类创建一个对象什么时候用new什么时候不用?
看到楼上的回答,特地写代码测试了一下,结果发现execSQL似乎不是静态方法。
java的对象都是在堆上分配内存的,所以要用new。SQLiteDatabase database; 只是声明一个对象引用而已,且没有初始化。下面直接调用database.execSQL(SQL)应该会报错的吧。如果你初始化成SQLit
Java中的“引用”和C 中的“指针”有什么区别?
1.类型:引用其值为地址的数据元素,java封装了的地址,可以转成字符串查看,长度可以不必关心。C 指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int。
2.所占内存: 引用声明时没有实体,不占空间。C 指针如果声明后会用到才会赋值,如果用不到不会分配内存。
3.类型转换:引用的类型转换,也可能不成功,抛异,或者IDE就不能通过。C 指针只是个内存地址,指向那里,对程序来说还都是一个地址,但可能所指的地址不是程序想要的!
4.初始值:引用初始值为java关键字null。C 指针是INT,如不初始化指针,那他的值就不是固定的了。
5.计算:引用是不可以计算的。C 指针是INT,所以他可以计算,所以经常用指针来代替数组下标。
6.控制:引用不可以计算,所以他只能在自己程序里,可以被控制。C 指针是内存地址,也可以计算,所以他有可能指向了一个不归自己程序使用的内存地址,对于其他程序来说是很危险的,对自己程序来说也是不容易被控制的。
7.内存泄露:JAVA引用不会产生内存泄露。C 指针是容易产生内存泄露的,所以程序员要小心使用,及时回收。
8.作为参数:JAVA的方法参数只是传值,引用做为参数使用时候,回给函数内引用的值的COPY,所以在函数内交换两个引用参数是没意义的,因为函数只交换的参数的COPY值,但在函数内改变一个引用参数的属性是有意义的,因为引用参数的COPY所引用的对象是和引用参数是同一个对象。C 指针做为参数给函数使用,实际上就是他所指的地址在被函数操作,所以函数内用指针参数的操作都将直接作用到指针所指向的地址(变量,对象,函数,等等)。
9.操作符和声明:java里用
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。