4 回答

TA貢獻1735條經驗 獲得超5個贊
在一個類中是不能調用另外一個類方法中定義的局部變量的,若想調用可以按以下幾種方法做: 1、將局部變量定義為類中的成員變量,然后通過對象來調用。 2、將局部變量用final關鍵字定義為常量,然后通過類名.常量名來...

TA貢獻1836條經驗 獲得超4個贊
Java里面預定義是指,已經定義好的類,例如String,Integer等等;
這些預定義的類都在java.lang包里面,jvm默認會加載這個包里面的所有類到JVM。
對于其他預定義類,例如java.util包里面的,要是的就必須引入才可以。
例如,你要使用ArrayList,你就必須在程序前面
import java.util.ArrayList;
對于String這些在java.lang包里面的就不用引入
例如下面就是多余的:
import java.lang.String;

TA貢獻1856條經驗 獲得超17個贊
int 是java的基本數據類型;這種類型的定義是通過諸如int a = 3;的形式來定義的。
如果int a =
3;這里的a是一個指向int類型的引用,指向3這個字面值。存在棧中,棧有一個很重要的特殊性,就是存在棧中的數據可以共享。
這里有
int a=3;
int b=3;
int c= 3;
編譯器先處理int a =
3;首先它會在棧中創建一個變量為a的引用,然后查找有沒有字面值為3的地址,如果沒找到,就開辟一個存放3這個字面值的地址,然后將a指向3的地址。
接著處
理int b = 3;在創建完b這個引用變量后,由于在棧中已經有3這個字面值,便將b直接指向3的地址。這樣,就出現了a與b同時均指向3的情況。
同理 int c = 3 也是這種情況。

TA貢獻1802條經驗 獲得超5個贊
同一個地址。
Java中分為棧內存(存放局部變量,也就是你說的a、b、c)和堆內存(存放new出的對象、代碼、static變量和常量池(你說的3就是常量)),也就是說常量3只在內存中存了一次。
添加回答
舉報