Java语言中,new的作用是为一个对象分配内存。代码清单1-1展示了如何为不同类型的对象分配内存。具体而言,可以分配基本类型、数组以及对象的内存。例如:inta=20;这是为一个int类型的变量分配内存,其内存是在栈中分配的。intA[]=newint[100];这行代码为一个整型数组分配了内存,其大小为100个整数,...
Java中new关键字的用法
Java语言中,new的作用是为一个对象分配内存。代码清单1-1展示了如何为不同类型的对象分配内存。具体而言,可以分配基本类型、数组以及对象的内存。例如:
inta=20;这是为一个int类型的变量分配内存,其内存是在栈中分配的。
intA[]=newint[100];这行代码为一个整型数组分配了内存,其大小为100个整数,实际分配的内存大小是128B,而不是100B。这是因为内存分配机制为了提高效率和分配算法的可实现性,实际的内存颗粒大小会按照2的幂次方进行划分。
floatA2[]=newfloat[100];这行代码为一个浮点型数组分配了内存,其大小也为100个浮点数,实际分配的内存同样为128B。
intA3[]={10,20,30};这行代码为一个包含3个整数的数组分配了内存,实际上并没有使用new关键字,而是直接初始化了数组。
Stringstr=newString();这行代码为一个String对象分配了内存,其内存是在系统堆中分配的。
Stringstr1=;这行代码为一个String对象分配了内存,但没有初始化。
Stringstr2=null;这行代码为一个String对象分配了内存,但将其值设置为null。
String[]Str=newString[100];这行代码为一个包含100个String对象的数组分配了内存。
MyMusicWidgetProvidermyProvider=newMyMusicWidgetProvider();这行代码为一个MyMusicWidgetProvider对象分配了内存。
str1+="Androidisfrom...";这行代码对str1进行了字符串拼接。
MyMusicWidgetProvidercommonProvider=myProvider.getInstance();这行代码获取一个MyMusicWidgetProvider实例。
对于String定义的变量,总是从系统内存堆中分配内存,栈中仅有对该String的引用。从系统堆中分配的实际内存大小并不是按指定的大小分配的,而是最接近指定大小的一个值。实际分配的内存大小通常是128B,最小的内存颗粒大小会根据不同的内存分配算法有所不同,一般会取512B或者1KB。
Java关键字new用于创建类的新实例。例如:
StringsName=newString();这行代码创建了一个新的String对象。
FloatfVal=newFloat(0.1);这行代码创建了一个新的Float对象。2024-12-15