java局部變量和成員變量 java定義一個(gè)Person類,包括成員變量name(姓名)、sex(性別)、age(年齡)和成員方法p?
java定義一個(gè)Person類,包括成員變量name(姓名)、sex(性別)、age(年齡)和成員方法p?是字母a嗎?成員變量a=1:編譯成類后,a和1兩個(gè)字符都在常量池(類文件中的一個(gè)區(qū)域)中。類加
java定義一個(gè)Person類,包括成員變量name(姓名)、sex(性別)、age(年齡)和成員方法p?
是字母a嗎?成員變量a=1:編譯成類后,a和1兩個(gè)字符都在常量池(類文件中的一個(gè)區(qū)域)中。類加載后,在實(shí)例化之前,整個(gè)類的信息將在方法區(qū)域(JVM中)中找到。如果找不到,將重新加載。將在堆中打開(kāi)一段內(nèi)存來(lái)存儲(chǔ)實(shí)例化的對(duì)象。a和1都在堆中。結(jié)論:A和1存在于由實(shí)例對(duì)象分配的堆內(nèi)存中。局部變量的a=1:method調(diào)用在JVM堆棧中。默認(rèn)的javac編譯不包括局部變量名。字母僅在源代碼中,而不在編譯的類文件中。由變量位置操作(反編譯后一般為VAR1,例如a=1編譯成類后反編譯。此操作的字節(jié)碼指令是icon St?1?將常量1(1表示常量值)iStore推到堆棧頂部?將堆棧頂部元素存儲(chǔ)到局部變量1(1表示第一個(gè)int類型的局部變量)。如果通過(guò)javac-G調(diào)試參數(shù)進(jìn)行編譯,編譯時(shí)會(huì)將局部變量信息寫(xiě)入局部變量表,反編譯后可以看到名稱。結(jié)論:對(duì)于未經(jīng)調(diào)試編譯的源文件,字符a不存在。A(名稱不見(jiàn)了,但變量在)和1都在堆棧中,上面提到了這兩個(gè)符號(hào)。如果它只是一個(gè)變量,則等號(hào)左側(cè)的公共成員變量在堆中,局部變量在堆棧右側(cè)。如果基本類型位于等號(hào)的右側(cè),則位置與左側(cè)相同。對(duì)象的名稱在堆中,符號(hào)的左側(cè)只是一個(gè)引用
聲明一個(gè)銀行賬戶類,包括賬號(hào)、存款人姓名、開(kāi)戶時(shí)間、身份證號(hào)、存款余額等賬戶信息。會(huì)員方式包括開(kāi)戶、存款、取款、查詢(余額、明細(xì))和銷售操作。