答:當Java程序直接使用形如“hello”的字符串常量,JVM將會使用常量池來管理這些字符串;
當使用new string (“hello”)時,JVM會先使用常量池來管理直接量,再調用String類的構造器來創建一個新的String對象,新創建的String對象被保存在堆內存中。換句話說,new string (“hello”)一共產生了兩個對象。
2、super和this的區別?
super調用的是其父類的構造器,而this調用的是同一個類重載的構造器。
3、理解類成員
static修飾的成員就是類成員,包括成員變量、方法、構造器(不能用static修飾)、初始化塊、內部類五個部分。
使用對象(實例)來調用類成員變量、方法時,實際是委託給該類訪問類成員和方法。
eg:
public class Test {
public static void info()
{
System.out.print("static修飾的類方法");
}
public static void main(String[] args) {
Test p=new Test();
p=null;
p.info();
}
}