杂记
作者:互联网
Java与c++类似,不用new来创建变量,而是创建一个并非是引用的‘自动’变量。这个变量直接存储‘值’并置于堆栈中,因此更加高效。
Java的主要目标是安全性,所以许多在c++中出现的问题不会出现在Java中,Java确保数组会被初始化,而且不能在它的范围之外被访问,这种范围检查是以每个数组上少量的内存开销及运行时的下标检查为代价的。
string s这个操作创建的只是引用,并不是对象,如果向s发送一个消息就会返回一个运行时错误,因此创建一个引用的同时便进行初始化 string s="asdf"
由new创建的对象只要需要就一直会存在下去,这样C++中存在的内存泄漏问题就不存在了,对象内存的收回有GC进行。
当声明一个事物是static时,就意味着这个域或者这个方法不会与包含它的那个类的任何对象实例关联在一起。所以即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。
对于
static StaticTest{
static int i=4;
}现在即使创建了两个StaticTest对象,StaticTest.i也只有一份存储空间,这两个类共享一个i。
对于静态方法,可以像对于其他方法一样使用对象名.方法名()调用,也可以使用类名.方法名()调用
标签:Java,对象,创建,StaticTest,static,内存,杂记 来源: https://www.cnblogs.com/tao7/p/12493272.html