第五课 面向对象编程(三)

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);
                    }
               }

           调用过程演示:

            

值传递调用过程演示(一)           

       值传递调用过程演示(二)

 

 

         

 值传递调用过程演示(三)

 

 

 

值传递调用过程演示(四)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值