當前位置:首頁 » 參考文獻 » 引用類引用對象

引用類引用對象

發布時間: 2021-03-23 23:08:35

㈠ java 中 什麼是引用對象

Java中基礎類型(如int、long、short、double、byte、char、float)是傳值,其他類型或自定義類型都是傳引用。

舉個例:
public class A {
private int a;
public void setA(int a) {

this.a = a;

}

public static void main(String[] args) {
A obj = new A();
modifyA(obj);//這里obj就是引用對象,方法modifyA對obj的修改不會影響obj對象所在內存地址。
}

public void modifyA(A a) {
a.setA(10);
}
}

㈡ c++ 類中對象的引用

引用引入了對象的一個同義詞。定義引用的表示方法與定義指針相似,只是用&代替了*。引用(reference)是c++對c語言的重要擴充。引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。引用的聲明方法:類型標識符 &引用名=目標變數名;
引用說明:
(1)&在此不是求地址運算,而是起標識作用。
(2)類型標識符是指目標變數的類型。
(3)聲明引用時,必須同時對其進行初始化。
(4)引用聲明完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數名的別名。
int a=2,int &ra=a;
a為目標原名稱,ra為目標引用名。給ra賦值:ra=1; 等價於 a=1;
(5)對引用求地址,就是對目標變數求地址。&ra與&a相等。即我們常說引用名是目標變數名的一個別名。別名一詞好像是說引用不佔據任何內存空間。但是編譯器在一般將其實現為const指針,即指向位置不可變的指針。即引用實際上與一般指針同樣佔用內存。
(6)不能建立引用的數組。因為數組是一個由若干個元素所組成的集合,所以無法建立一個由引用組成的集合。但是可以建立數組的引用.
例如: int& ref [3]= {2,3,5};//聲明ref引用的數組錯誤
但是可以這樣寫:
const int (&ref)[3] ={2,3,5}; //gcc編譯的時候加上選項 -std=c++0x
ref[0] = 35; //錯誤
為什麼要加上const ,因為{2,3,5}此時是個字面值數組,是保存在代碼段里,只讀的屬性,如果不加,編譯錯誤,而且後面對ref[0]的賦值也不會成功.
需要特別強調的是引用並不產生對象的副本,僅僅是對象的同義詞。因此,當下面的語句執行後:
pt1.offset(12,12);
pt1和pt2都具有(12,12)的值。
引用必須在定義時馬上被初始化,因為它必須是某個東西的同義詞。你不能先定義一個引用後才
初始化它。例如下面語句是非法的:
Point &pt3;
pt3=pt1;
那麼既然引用只是某個東西的同義詞,它有什麼用途呢?
下面討論引用的兩個主要用途:作為函數參數以及從函數中返回左值。

㈢ java如何將類對象的引用指向另一個類對象

這個不是引用錯誤,關鍵是你調用方法的方式不對
從宏觀上看一個類只能屬性和方法,所以應該把調用動作放到相應的方法裡面去,至少也要把這些用中括弧括起來吧?改成
{
ref.area(); //報錯<identifier> expected
ref = fig; //報錯<identifier> expected
ref.area(); //報錯<identifier> expected
}
感覺這也不太規范,還是找個方法放進去吧,然後由main方法調用它

㈣ java 在一個類中引用另一個類已經定義的對象

一般來說,JAVA有種專門的處理方法,那就是內部類!其實說白了,就是把一個類寫在另一個類的內部

譬如
class stu1{
private TextField text = new TextField(20);
class stu2{
public void set(){
text.setText("abcd");
}
}
由於JAVA是面向對象的,所以一般我們不會讓外部自由訪問類內成員,一般都設置成私有的,但是內部類確實可以訪問所在外部類的私有成員。而且,一般設置都是再方法內進行的!初期編程養成一個良好的習慣也是很不錯的

㈤ 類和對象的成員引用

例如在程序中可以寫出以下語句:
stud1.num=1001;//假設已定義為公用的整型數據成員
表示將整數1001賦給對象stud1中的數據成員num。
其中「.」是成員運算符,用來對成員進行限定,指明所訪問的是哪一個對象中的成員。
注意不能只寫成員名而忽略對象名。
訪問對象中成員的一般形式為
對象名.成員名
不僅可以在類外引用對象的公用數據成員,而且還可以調用對象的公用成員函數,但同樣必須指出對象名,如
stud1.display( );//正確,調用對象stud1的公用成員函數
display( );//錯誤,沒有指明是哪一個對象的display函數
由於沒有指明對象名,編譯時把display作為普通函數處理。
應該注意所訪問的成員是公用的(public )還是私有的(private )。只能訪問public成員,而不能訪問private成員,如果已定義num為私有數據成員,下面的語句是錯誤的:
stud1.num=10101;//num是私有數據成員,不能被外界引用
在類外只能調用公用的成員函數。在一個類中應當至少有一個公用的成員函數,作為對外的介面,否則就無法對對象進行任何操作。 class Time
{
public : //數據成員是公用的
int hour;
int minute;
};Time t,*p;//定義對象t和指針變數p
p=&t;//使p指向對象t
cout<<p->hour;//輸出p指向的對象中的成員hour
在p指向t的前提下,p->hour,(*p).hour和t.hour三者等價。 如果為一個對象定義了一個引用變數,它們是共占同一段存儲單元的,實際上它們是同一個對象,只是用不同的名字表示而已。
因此完全可以通過引用變數來訪問對象中的成員。
如果已聲明了Time類,並有以下定義語句:
Time t1; //定義對象t1
Time &t2=t1;//定義Time類引用變數t2,並使之初始化為t1
cout<<t2.hour;//輸出對象t1中的成員hour
由於t2與t1共占同一段存儲單元(即t2是t1的別名),因此t2.hour就是t1.hour。

㈥ 在java中怎樣將引用定義為一個類的對象

沒怎麼看明白樓主的意思。
給我發網路消息

㈦ java中對象和對象引用的區別

1.何謂對象?
在Java中有一句比較流行的話,叫做「萬物皆對象」,這是Java語言設計之初的理念之一。要理解什麼是對象,需要跟類一起結合起來理解。下面這段話引自《Java編程思想》中的一段原話:
「按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這里,『類』就是『類型』的同義詞。」
從這一句話就可以理解到對象的本質,簡而言之,它就是類的實例,比如所有的人統稱為「人類」,這里的「人類」就是一個類(物種的一種類型),而具體到每個人,比如張三這個人,它就是對象,就是「人類」的實例。
2.何謂對象引用?
我們先看一段話:
「每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的數據是什麼類型。你是直接操縱元素,還是用某種基於特殊語法的間接表示(例如C/C++里的指針)來操作對象。所有這些在 Java 里都得到了簡化,一切都被視為對象。因此,我們可採用一種統一的語法。盡管將一切都「看作」對象,但操縱的標識符實際是指向一個對象的「引用」(reference)。」
這段話來自於《Java編程思想》,很顯然,從這段話可以看出對象和對象引用不是一回事,是兩個完全不同的概念。舉個例子,我們通常會用下面這一行代碼來創建一個對象:
Person person = new Person("張三");
有人會說,這里的person是一個對象,是Person類的一個實例。
也有人會說,這里的person並不是真正的對象,而是指向所創建的對象的引用。
到底哪種說法是對的?我們先不急著糾結哪種說法是對的,再看兩行代碼:
Person person;
person = new Person("張三");
這兩行代碼實現的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來在堆上創建對象用的,如果person是一個對象的話,那麼第二行為何還要通過new來創建對象呢?由此可見,person並不是所創建的對象,是什麼?上面的一段話說的很清楚,「操縱的標識符實際是指向一個對象的引用」,也就是說person是一個引用,是指向一個可以指向Person類的對象的引用。真正創建對象的語句是右邊的new Person("張三");

㈧ java中對象和對象的引用的區別

1.什麼是對象?
在Java中有一句比較流行的話,叫做「萬物皆對象」,這是Java語言設計之初的理念之一。要理解什麼是對象,需要跟類一起結合起來理解。下面這段話引自《Java編程思想》中的一段原話:
「按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這里,『類』就是『類型』的同義詞。」
從這一句話就可以理解到對象的本質,簡而言之,它就是類的實例,比如所有的人統稱為「人類」,這里的「人類」就是一個類(物種的一種類型),而具體到每個人,比如張三這個人,它就是對象,就是「人類」的實例。
2.何謂對象引用?
我們先看一段話:
「每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的數據是什麼類型。你是直接操縱元素,還是用某種基於特殊語法的間接表示(例如C/C++里的指針)來操作對象。所有這些在 Java 里都得到了簡化,一切都被視為對象。因此,我們可採用一種統一的語法。盡管將一切都「看作」對象,但操縱的標識符實際是指向一個對象的「引用」(reference)。」
這段話來自於《Java編程思想》,很顯然,從這段話可以看出對象和對象引用不是一回事,是兩個完全不同的概念。舉個例子,我們通常會用下面這一行代碼來創建一個對象:
Person person = new Person("張三");
有人會說,這里的person是一個對象,是Person類的一個實例。
也有人會說,這里的person並不是真正的對象,而是指向所創建的對象的引用。
到底哪種說法是對的?我們先不急著糾結哪種說法是對的,再看兩行代碼:
Person person;
person = new Person("張三");
這兩行代碼實現的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來在堆上創建對象用的,如果person是一個對象的話,那麼第二行為何還要通過new來創建對象呢?由此可見,person並不是所創建的對象,是什麼?上面的一段話說的很清楚,「操縱的標識符實際是指向一個對象的引用」,也就是說person是一個引用,是指向一個可以指向Person類的對象的引用。真正創建對象的語句是右邊的new Person("張三");
再看一個例子:
Person person;
person = new Person("張三");
person = new Person("李四");
這里讓person先指向了「張三」這個對象,然後又指向了「李四」這個對象。也就是說,Person person,這句話只是聲明了一個Person類的引用,它可以指向任何Person類的實例。這個道理就和下面這段代碼一樣:
int a;
a=2;
a=3;
這里先聲明了一個int類型的變數a,先對a賦值為2,後面又賦值為3.也就是說int類型的變數a,可以讓它的值為2,也可以為3,只要是合法的int類型的數值即可。
也就是說,一個引用可以指向多個對象,而一個對象可不可以被多個引用所指呢?答案當然是可以的。
比如:
Person person1 = new Person("張三");
Person person2 = person1;
person1和person2都指向了「張三」這個對象。

㈨ java 兩個類相互引用怎麼破

首先,沒有類引用這個說法,最終都是通過類new出對象
第二,對象中定義的對象a,拿到的是是對a的引用,就像我有你銀行卡的副卡,你有我銀行卡的副卡,沒有無限遞歸的問題。

㈩ java中類,對象和引用間的關系

類:是對現實存在事物的一種抽象,一種高度的概括。
對象:是類的實例,是類中的一個個體,它具有該類的屬性。
引用:當你引入一個包時,你可以引用該包內的類的對象,也就是說,引用針對的是類的對象。
【1】類和對象
class A{
public void test(){ ... }
}
A a = new A(); 這里a就是類A的對象。
【2】引用
class B{
public void setA(A a){
...
}
}
B b = new B();
b.setA(a);
這里的a就是A的引用

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731