java變數引用
① java 程序中的變數引用問題
bb類裡面,定義一個變數 String linesText;
修改一下構造
public bb(String linesText, int a, int b){
this.linesText=linesText;
}
使用bb類的時候,添加參數 bb bm=new bb(textField3.getText(), n1, n2);
這個時候,就可以,在bb類內使用linesText,就是lines裡面的文本輸入框了。
----------------
btw 最好bb類,不要每次都創建新的實例,而是定義成lines類的類變數,只是刷新bb類就可以。
----------------
btw,java 類的鄭遲瞎名稱,首字旦洞母最好喊空大寫。
② java中的引用數據類型是怎樣的
java中有兩種數據類型:基本類型和引用類型。x0dx0a基本類型有8個:x0dx0a 整數類型 byte、short、int、longx0dx0a 浮點數類型 float、doublex0dx0a 字元型 charx0dx0a 布爾類型 booleanx0dx0a引用類型包括三種:x0dx0a 類 Classx0dx0a 介面 Interfacex0dx0a 數組 Arrayx0dx0a基本類型是通過諸如 int a = 5; long b = 6L;的形式來定義的,稱為自動變數,自動變數存放的是字面值,不是類的實例,它存放在內存的堆棧中,數據大小和生存期必須是確定的,存取速度比較快,在堆棧中的字面值可以共享,也就是說我們定義一個int a = 5;然後又定義了一個int b = 5;這時a與b在內存中指向的是同一個字面常量。x0dx0a引用類型一般是通過new關鍵字來創建,比如Integer num = new Integer(3);它存放在內存的堆中,可以在運行時動態的分配內存大小,生存期也不必事先告訴編譯器,當引用類型變數不被使用時,Java內部的垃圾回收器GC會自動回收走。引用變數中存放的不是變數的內容,而是存放變數內容的地址。x0dx0a在參數傳遞時,基本類型都是傳值,也就是傳遞的都是原變數的值得拷貝,改變這個值不會改變原變數,而引用類型傳遞的是地址,也就是參數與原變數指向的是同一個地址,所以如果改變參數的值,原變數的值也會改變。這點要注意。x0dx0a在java中,8種基本類型在java中都有對應的封裝類型,也就是引用類型:x0dx0a 整數類型 Byte、Short、Integer、Longx0dx0a 浮點數類型 Float、Doublex0dx0a 字元型 Characterx0dx0a 布爾類型 Booleanx0dx0a有時候我們會看到這樣的語句 Integer num = 3;Boolean b = true;這樣定義也能行得通,其實這裡面有一個自動裝箱的問題,即java自動把3這個字面常量封裝成了Integer對象,同理也有自動拆箱。x0dx0a還有些需要注意的比較特殊的地方:x0dx0a1.Integer類型x0dx0aInteger i1 = 3;x0dx0aInteger i2 = 3;x0dx0a此時i1 == i2 返回的是truex0dx0aInteger i1 = 128;x0dx0aInteger i2 = 128;x0dx0a此時i1 == i2返回的是false,x0dx0a這時因為Integer的數值在-128~127之間時,即在int的范圍內,默認是按照基本類型int來存放的,仍舊存在堆棧中,如果超出了int的范圍,就按照對象的方式來存放和比較了。x0dx0a x0dx0a2、String類型x0dx0aString類型我們有時候也會直接這樣定義:x0dx0aString s = "abc";x0dx0a這里的"abc"稱為字元串常量,也是存在堆棧中的,s中存放的就是指向這個堆棧地址的引用,如果再定義一個x0dx0aString s1 = "abc";x0dx0a這時,s與s1存放的是同一個地址的引用,即s與s1指向的是同一個字元串常量,x0dx0as == s1的值是true,x0dx0a但是如果有x0dx0aString s2 = new String("abc");x0dx0a這時s == s2則為false,因為使用new之後,每次生成的對象都不是同一個,即使存儲的內容相同。x0dx0a上面的s == s1,s == s2其實比較的都是地址,並不是裡面的內容。如果要比較內容,可以使用equals()方法。x0dx0ax0dx0a其他的就不多說了,打起來太慢了,可以自己去看一下java編程思想。
③ java中的實例化和引用變數有什麼區別
區別如下:
實例化就是衫棚另外分配一個空間來存儲要實例化的類,引用變數沒有另外創建一個空間,只是或襲則禪槐多了一個變數指向那個空間而已,比如,
String str1 = "aaaa"; //實例化一個變數str1,創建了一個空間來存放"aaaa".
String str2 = str1; //引用變數, 把str2也指向存放"aaaa"的那個空間。
這樣就可以用str1或者str2對"aaaa"的內容進行改變,不過String 類型的內容不能改變,改變了內容只是 另外創建一個空間存放新的內容,然後把變數名指向新的空間而已。
④ Java中的基本類型和引用類型變數的區別
1、java中的基本數據類型,包括數值型,字元型和布爾型。
數值型:1)整型:byte ;short;int ;long。
2、引用數據類型變數包括:類、介面和數組變數
3、兩者的區別主要在存儲方式上:
基本數據類型在被創建時,在棧上給其劃分一塊內存,將數值直接存儲在棧配鉛塵上;
引用數據類型在被床架時,首先要在棧上給其引用分配一塊內存,而對象的具體信息培禪都存儲在堆內存上,然後由棧上面的引用指向堆中對象的地激帶址。
⑤ java的引用,變數,對象分別什麼意思
Java中數據類型分正禪早為兩大類,是襲首基本類型和對象類型。相應的,變數也就有兩種類型:基本類型和引用類型。基本類型舉雀自然不用說了,它的值就是一個數字,一個字元或一個布爾值。引用類型,可是引用類型呢?它是一個對象類型的啊,值是什麼呢?它的值是指向內存空間的引用,就是地址,所指向的內存中保存著變數所表示的一個值或一組值。很好理解吧,因為一個對象,比如說一個人,不可能是個數字也不可能是個字元啊,所以要想找它的話只能找它的地址了。
⑥ java裡面引用和變數的區別
Java裡面的變數分兩種,一種是基本類型變數,比如int
long
double等,一種是類變數,比如String,類變數也可以叫做引用。引用是否是指針這個要根據JVM虛擬機的實現來看,有的虛擬機將它實現為句柄,有的虛擬機實現為指針。
⑦ java 中的引用是什麼意思
引用就是指向同一塊內存,舉個例子看看區別
void fun1(int i){
i=i+1;
}
void fun2(User u){
u.i=u.i+1;
}
如果i的初始值為0,在main函數中分別調用這兩個方法
那麼調用fun1之後i的值還是0
而u.i的值將會是1
⑧ java編程中變數的引用
變數是虧游早一個數據存儲空間的表示,通過變數名可以快速地找到它存儲的數據,將數據指定給變數,就是將數據存儲空間到銷雀別名為變數名的那個空間,調用變數,就是將那個房間的數據取出來使用,可以,變數是存儲數據的一個基本單元,不同的變數相磨臘互獨立。
⑨ 關於Java引用類型變數
比如:String s = new String();這個其實是在棧內存里襪雹大分肆頃配一塊內存空間為s,在堆內存里new了一個String類型的空間,在運行時是 棧內存里的 s 指向堆內存里的那一塊存儲告豎空間
⑩ java中的引用變數
首先沒有編譯時變數這個概念,有的僅是編譯時類型和運行時類型。
編譯時引用類型由聲明該變數時使用的類型決定,運行時引用類型由實際賦給該變數的對象決定。
比如:Object s = new String("example");
Object 是引用的編譯時類型,String是引用的運行時類型。其中後者必須是前者的子類,編譯時只能調用編譯類型的方法,運行時才能調用運行時類型的方法。