引用變數java
1. java裡面引用和變數的區別
Java裡面的變數分兩種,一種是基本類型變數,比如int
long
double等,一種是類變數,比如String,類變數也可以叫做引用。引用是否是指針這個要根據JVM虛擬機的實現來看,有的虛擬機將它實現為句柄,有的虛擬機實現為指針。
2. java中的引用變數
首先沒有編譯時變數這個概念,有的僅是編譯時類型和運行時類型。
編譯時引用類型由聲明該變數時使用的類型決定,運行時引用類型由實際賦給該變數的對象決定。
比如:Object s = new String("example");
Object 是引用的編譯時類型,String是引用的運行時類型。其中後者必須是前者的子類,編譯時只能調用編譯類型的方法,運行時才能調用運行時類型的方法。
3. 引用變數怎樣理解通俗的解釋一下。java里的
引用變數分為兩部分理解:
第一部分是基本類型數據,比如int,float。。,引用變數即為方法參數,當方法執行過程中,會在方法也就是棧中拷貝一份本地變數,但是不涉及引用二字
第二部分為對象數據,在方法中執行,拷貝一個變數副本,但是指針指向原來的變數地址,這就是引用的含義
4. java中哪些變數是引用變數
java中除了原生類型的變數,其他都是引用;類型變數
原生類型:boolean byte char short int long float double。
5. 關於Java引用類型變數
基本數據類類型存的是數值本身,而引用類型變數在內存放的是數據的引用,並不是數據的本身,引用類型變數是以間接方式去獲取數據。引用類型變數都屬於對象類型,如:數組、類、字元串等都屬於引用類型變數。所以,引用類型變數裡面存放的是數據的地址。
說白了基本數據類型變數就像是直接放在櫃子里的東西,而引用數據類型變數就是這個櫃子對應編碼的鑰匙。鑰匙號和櫃子對應。
6. java 引用變數 引用對象嗎
Java中的引用變數相當於C語言中的指針,它的作用是指向某個對象.比如
Child t;
t=new Child();
t 是 一個引用變數,指向了一個Child類型的對象.內存中,你首先聲明了一個Child類型的引用變數,然後你創建了一個Child對象,並 把這個對象在堆內存中的地址賦給t,這個地址就是引用變數的值,t是引用變數的名.
由於Java中無法直接使用具體的對象,因此都是通過對象的引用來操作對象的.有的書上,把引用變數也稱為對象句柄.好比你要用勺喝湯,而引用變數或對象句柄就是勺的把手,通過它來實現屬於勺這個對象的喝湯的方法.
最後,引用變數以對象的形式存在,引用變數只是保存對象的句柄?
前半句的意思是引用變數是指向對象的
後半句的意思是引用變數保存了對象在堆內存中的存儲地址,引用變數也被稱為對象句柄
7. java程序成員變數的引用
你的 name 屬性是沒有指定訪問修飾符的, 那麼默認訪問修飾符就是 dafault
default 訪問修飾符,限制了只有當前類或者相同包下的類可以直接訪問這個 name 屬性, 你的main 方法所在的類是ObjectOriedted1, 而Student 類不是這個包下的, 所以 main 方法所在的類是不允許直接訪問 name 這個屬性的
8. 關於Java的引用變數
如果是
A
c=new
B();
那麼
A與B類之間肯定有關系。如果沒有關系就不能這樣new了
如果AB是父子類關系
那麼可以是
子類
new
父類
9. java引用變數
將person類聲明為static
即改成
static class Person
{
int age;
public Person(int i)
{
age = i;
}
}
或者乾脆移出去單獨搞個Person.java,不要做內部類
非靜態嵌套類必須在外套類的非靜態成員里構造