引用傳遞及基本應(yīng)用

public class TestJava{
    public static void main(String args[]){
        Demo d1 = new Demo();
        d1.temp = 50;
        System.out.println(d1.temp);
        fun(d1);
        System.out.println(d1.temp);
        
    }
    public static void fun(Demo d2) {
        d2.temp = 30;
    }
};
class Demo{
    int temp = 30;
}

public class RefDemo02{
    public static void main(String args[]){
        String str1 = "hello" ;         // 實例化字符串對象
        System.out.println("fun()方法調(diào)用之前:" + str1) ;
        fun(str1) ;                     // 調(diào)用fun()方法
        System.out.println("fun()方法調(diào)用之后:" + str1) ;
    }
    public static void fun(String str2){        // 此處的方法由主方法直接調(diào)用
        str2 = "MLDN" ;                 // 修改字符串內(nèi)容
    }
};
class Demo{
    String temp = "hello" ;     // 此處為了方便虽填,屬性暫時不封裝
};
public class RefDemo03{
    public static void main(String args[]){
        Demo d1 = new Demo() ;  // 實例化Demo對象檩淋,實例化之后里面的temp=30 
        d1.temp = "world" ;     // 修改temp屬性的內(nèi)容
        System.out.println("fun()方法調(diào)用之前:" + d1.temp) ;
        fun(d1) ;
        System.out.println("fun()方法調(diào)用之后:" + d1.temp) ;
    }
    public static void fun(Demo d2){        // 此處的方法由主方法直接調(diào)用
        d2.temp = "MLDN";                       // 修改temp值
    }
};
class Demo{                     // 定義Demo類
    private int temp  = 30 ;    // 聲明temp屬性并封裝
    public void fun(Demo d2){   // 接收本類的引用
        d2.temp = 50 ;          // 直接通過對象調(diào)用本類的私有屬性
    }
    public int getTemp(){       // getter
        return temp ;
    }
    public void setTemp(int t){ // setter
        temp = t ;
    }
};
public class RefDemo04{
    public static void main(String args[]){
        Demo d1 = new Demo() ;  // 實例化Demo對象
        d1.setTemp(50) ;        // 只能通過setter方法修改內(nèi)容
        d1.fun(d1) ;            // 此處把Demo的對象傳回到自己的類中
        System.out.println("temp = " + d1.getTemp()) ;
    }
};
class Person{           // 定義Person類
    private String name ;   // 姓名
    private int age ;       // 年齡
    private Book book ;     // 一個人有一本書
    public Person(String name,int age){
        this.setName(name) ;
        this.setAge(age) ;
    }
    public void setName(String n){
        name = n ;
    }
    public void setAge(int a){
        age = a ;
    }
    public String getName(){
        return name ;
    }
    public int getAge(){
        return age ;
    }
    public void setBook(Book b){
        book = b ;
    }
    public Book getBook(){
        return book ;
    }
};
class Book{             // 定義Book類
    private String title ;  // 標(biāo)題
    private float price ;   // 價格
    private Person person ; // 一本書屬于一個人
    public Book(String title,float price){
        this.setTitle(title) ;
        this.setPrice(price) ;
    }
    public void setTitle(String t){
        title = t ;
    }
    public void setPrice(float p){
        price = p ;
    }
    public String getTitle(){
        return title ;
    }
    public float getPrice(){
        return price ;
    }
    public void setPerson(Person p){
        person = p ;
    }
    public Person getPerson(){
        return person ;
    }
};
public class RefDemo05{
    public static void main(String arg[]){
        Person per = new Person("張三",30) ;
        Book bk = new Book("JAVA SE核心開發(fā)",90.0f) ;
        per.setBook(bk) ;       // 設(shè)置兩個對象間的關(guān)系野瘦,一個人有一本書
        bk.setPerson(per) ;     // 設(shè)置兩個對象間的關(guān)系涧郊,一本書屬于一個人
        System.out.println("從人找到書 --> 姓名:" + per.getName()+";年齡:" 
            + per.getAge() +"沟于;書名:" + per.getBook().getTitle() + "咳胃;價格:" 
            + per.getBook().getPrice()) ;   // 可以通過人找到書
        System.out.println("從書找到人 --> 書名:" + bk.getTitle() + ";價格:"
            + bk.getPrice() + "旷太;姓名:" + bk.getPerson().getName() + "展懈;年齡:"
            + bk.getPerson().getAge()) ;    // 也可以通過書找到其所有人
    }
};
class Person{           // 定義Person類
    private String name ;   // 姓名
    private int age ;       // 年齡
    private Book book ;     // 一個人有一本書
    private Person child ;  // 一個人有一個孩子
    public Person(String name,int age){
        this.setName(name) ;
        this.setAge(age) ;
    }
    public void setName(String n){
        name = n ;
    }
    public void setAge(int a){
        age = a ;
    }
    public String getName(){
        return name ;
    }
    public int getAge(){
        return age ;
    }
    public void setBook(Book b){
        book = b ;
    }
    public Book getBook(){
        return book ;
    }
    public void setChild(Person c){
        child = c ;
    }
    public Person getChild(){
        return child ;
    }
};
class Book{             // 定義Book類
    private String title ;  // 標(biāo)題
    private float price ;   // 價格
    private Person person ; // 一本書屬于一個人
    public Book(String title,float price){
        this.setTitle(title) ;
        this.setPrice(price) ;
    }
    public void setTitle(String t){
        title = t ;
    }
    public void setPrice(float p){
        price = p ;
    }
    public String getTitle(){
        return title ;
    }
    public float getPrice(){
        return price ;
    }
    public void setPerson(Person p){
        person = p ;
    }
    public Person getPerson(){
        return person ;
    }
};
public class RefDemo06{
    public static void main(String arg[]){
        Person per = new Person("張三",30) ;
        Person cld = new Person("張草",10) ;  // 定義一個孩子
        Book bk = new Book("JAVA SE核心開發(fā)",90.0f) ;
        Book b = new Book("一千零一夜",30.3f) ;
        per.setBook(bk) ;       // 設(shè)置兩個對象間的關(guān)系销睁,一個人有一本書
        bk.setPerson(per) ;     // 設(shè)置兩個對象間的關(guān)系,一本書屬于一個人
        cld.setBook(b) ;        // 設(shè)置對象間的關(guān)系存崖,一個孩子有一本書
        b.setPerson(cld) ;      // 設(shè)置對象間的關(guān)系冻记,一本書屬于一個孩子
        per.setChild(cld) ;     // 設(shè)置對象間的關(guān)系,一個人有一個孩子
        System.out.println("從人找到書 --> 姓名:" + per.getName()+"来惧;年齡:" 
            + per.getAge() +"冗栗;書名:" + per.getBook().getTitle() + ";價格:" 
            + per.getBook().getPrice()) ;   // 可以通過人找到書
        System.out.println("從書找到人 --> 書名:" + bk.getTitle() + "供搀;價格:"
            + bk.getPrice() + "隅居;姓名:" + bk.getPerson().getName() + ";年齡:"
            + bk.getPerson().getAge()) ;    // 也可以通過書找到其所有人
        // 通過人找到孩子葛虐,并找到孩子所擁有的書
        System.out.println(per.getName() + "的孩子 --> 姓名:"
            + per.getChild().getName() + "胎源;年齡:" + per.getChild().getAge()
            + ";書名:" + per.getChild().getBook().getTitle() + "挡闰;價格:"
            + per.getChild().getBook().getPrice()) ;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市掰盘,隨后出現(xiàn)的幾起案子摄悯,更是在濱河造成了極大的恐慌,老刑警劉巖愧捕,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奢驯,死亡現(xiàn)場離奇詭異,居然都是意外死亡次绘,警方通過查閱死者的電腦和手機瘪阁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邮偎,“玉大人管跺,你說我怎么就攤上這事『探” “怎么了豁跑?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泻云。 經(jīng)常有香客問我艇拍,道長,這世上最難降的妖魔是什么宠纯? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任卸夕,我火速辦了婚禮,結(jié)果婚禮上婆瓜,老公的妹妹穿的比我還像新娘快集。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布碍讨。 她就那樣靜靜地躺著治力,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勃黍。 梳的紋絲不亂的頭發(fā)上宵统,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音覆获,去河邊找鬼马澈。 笑死,一個胖子當(dāng)著我的面吹牛弄息,可吹牛的內(nèi)容都是我干的痊班。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼摹量,長吁一口氣:“原來是場噩夢啊……” “哼涤伐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缨称,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤凝果,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后睦尽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體器净,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年当凡,在試婚紗的時候發(fā)現(xiàn)自己被綠了山害。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡沿量,死狀恐怖浪慌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朴则,我是刑警寧澤眷射,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站佛掖,受9級特大地震影響妖碉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芥被,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一欧宜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拴魄,春花似錦冗茸、人聲如沸席镀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豪诲。三九已至,卻和暖如春挂绰,著一層夾襖步出監(jiān)牢的瞬間屎篱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工葵蒂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留交播,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓践付,卻偏偏與公主長得像秦士,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子永高,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容