第五課 面向對象編程(三)

1.值傳遞

         方法調用的時候 遵循值傳遞的原則

         1)基本數據類型傳遞的數據的本身

         2) 引用數據類型 傳遞的是對象的地址

         3)學java一定要有內存模型的概念  下面來看一個例子  

              類BirthDate

                 public class BirthDate {
                      private int year;//代表年
                      private int month;//代表月
                      private int day;//代表日
                      //構造方法
                       public BirthDate(int d, int m, int y) {
                            day = d;
                            month = m;
                            year = y;
                       }
                       public void setDay(int d) {
                            day = d;
                        }
                        public void setMonth(int m) {
                             month = m;
                        }
                        public void setYear(int y) {
                             year = y;
                        }
                         public void display() {
                              System.out.println(day + " - " + month + " - " + year);
                        }
                  } 

           測試類:

               public class Test {
                    public static void main(String args[]) {  
                         Test test = new Test();
                         int date = 9;
                         BirthDate d1 = new BirthDate(7, 7, 1970);
                         BirthDate d2 = new BirthDate(1, 1, 2000);
                         test.change1(date);
                         test.change2(d1);
                         test.change3(d2);
                         System.out.println("date:" + date);
                          d1.display();
                         d2.display();
                   }
                    public void change1(int i) {
                          i = 1234;
                    }
                     public void change2(BirthDate b) {
                          b = new BirthDate(22, 2, 2004);
                    }
                    public void change3(BirthDate b) {
                         b.setDay(22);
                    }
               }

           調用過程演示:

            

值傳遞調用過程演示(一)           

       值傳遞調用過程演示(二)

 

 

         

 值傳遞調用過程演示(三)

 

 

 

值傳遞調用過程演示(四)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章