引用传递及其应用

上一篇 / 下一篇  2013-12-20 23:00:59 / 个人分类:java

本章目标51Testing软件测试网I:||O1S#ZVY z}E

 掌握三种引用传递的操作范例51Testing软件测试网WQ(tjz p

 掌握引用传递的应用

$ifUK7l0

 51Testing软件测试网 N6Drz WI,R

三道引用传递范例

VK9sF;[+Q z0

class Demo{51Testing软件测试网 @8l U#C p#c6\^)G Z4^ h

       int temp = 30 ; //此处为了访问方便,属性暂不封装

(UN'}0{Q0u7~/o0

   }

.wfl4\xG)@0

   

[u-|3@ @CxJ+LVx;R0

   public class RefDemo01{

2I RO~DC0

       public static void main(String args[]){51Testing软件测试网g1|R)h!z-}2d"s

           Demo d1 = new Demo() ; //实例化Demo对象,实例化后里面的temp = 30  

*kY;n t(l0

           d1.temp = 50 ;         //修改temp属性的内容51Testing软件测试网&V8m~/t"J,nQ{gJ+_2w

           System.out.println("fun()方法调用之前:" + d1.temp) ; 

H:]t%o M6Pd\5@D0

           fun(d1) ;51Testing软件测试网g*wC8E&qh(e(Dk.@4RY

           System.out.println("fun()方法调用之后:" + d1.temp) ;

W(S-n$t~$gq0

       }

O EO1An0

       

rB,{5R@,B}S4J*O0

       public static void fun(Demo d2){     //此处的方法由主方法直接调用51Testing软件测试网t!W6R)m*MJF@a

          d2.temp = 1000 ;                 //修改temp

Fbsw^]9]\bM^0

       }51Testing软件测试网fzS9v mq

   } ;51Testing软件测试网}Ms'iXiN#vJ

输出结果:51Testing软件测试网(v8}8?yGBm

fun()方法调用之前:5051Testing软件测试网Hs!D}'C Gw1[1^x

fun()方法调用之后:1000

&@/F4X qUQ*S"v%t{V0

 

"Qw3V:_3|5J.x y8u#C0

public class RefDemo02{51Testing软件测试网s.@pM~ [4B9C

       public static void main(String args[]){

:v6a!cT/cz~0

           String str1 = "hello" ;   //实例化字符串对象

I Ys/o^+Zv0

           System.out.println("fun()方法调用之前:" + str1) ;51Testing软件测试网2bg:Z#il\ lCT*g

           fun(str1) ;               //调用fun()方法

VFe9e"C4_B0

           

5B\%U4g [Ka4lG0

           System.out.println("fun()方法调用之后:" + str1) ;51Testing软件测试网kgD#H1]*V

       }51Testing软件测试网 A,di8dp r(R#f+SZ

       

nD5gw+T:c EB0

       public static void fun(String str2){     //此处的方法由主方法直接调用51Testing软件测试网mo1}iN}*hy

          str2 = "luoriver" ;                  //修改字符串方法

OnT]O0

       }

D,GYrl.b(k.CUJ4]{0

   } ;51Testing软件测试网8Jry:Q3@Z

输出结果:

1_DK8Y7Axvez0

fun()方法调用之前:hello51Testing软件测试网s+b4f rz3Ayg

fun()方法调用之后:hello51Testing软件测试网_ h\v^

 

R#_/kE-I0]bU$c.w&A0

class Demo{51Testing软件测试网g/` V+UCa\6o

       String temp = "hello" ; //此处为了访问方便,属性暂不封装51Testing软件测试网\,[*\(w&o Bw mz

   }51Testing软件测试网 RUglR t.v

   51Testing软件测试网^:H8g.~(g4c9f)aD Kd

   public class RefDemo03{

9Xe\`6y0

       public static void main(String args[]){51Testing软件测试网&vU-b,Zg,ed

           Demo d1 = new Demo() ; //实例化Demo对象

T8N2B[Q3MY|6D0

           d1.temp = "world" ;         //修改temp属性的内容

8f(k:v e!L7A0

           System.out.println("fun()方法调用之前:" + d1.temp) ; 

8A3sOJm Mb1i)k0

           fun(d1) ;

C6|YZ/a_0

           System.out.println("fun()方法调用之后:" + d1.temp) ;

6F ix,i$O9krFD0

       }51Testing软件测试网A"]"j8Z0LP

       51Testing软件测试网:W/g$W/lv M|

       public static void fun(Demo d2){     //此处的方法由主方法直接调用51Testing软件测试网EejU)]

          d2.temp = "luoriver" ;                 //修改temp51Testing软件测试网/^y6zKc sB P e`d

       }

\;kJ mtB*b Gn0

   } ;51Testing软件测试网O7HO N2G/IO$v%S

输出结果:

'Lbb2h(C[.b0

fun()方法调用之前:world

'sNi5FOY0

fun()方法调用之后:luoriver

"N`6z:{ D#Bf0

 51Testing软件测试网,cH B d]-hI&r:V

 51Testing软件测试网(\ny wlh

接收本类引用

/]FL/|V0

class Demo{

vr||,g0

        private int temp = 30 ; //声明temp属性并封装

9eE(G#i/q[0p,W9m0

        public void setTemp(int t){   //setter

@^*d0v,NiJMa0

        temp = t ;

Y7M%F7r.cW8SM0

        }

&L(t+Pm,C7V!Q*}0

       public int getTemp(){   //getter

8BCD_-f2e4J J0

       return temp ;

G.nZ*r? K0

       }

y e;W:CS6G1s O+b0

   }51Testing软件测试网.U5|!@E&vI.J$g

   51Testing软件测试网LkEjS{

   public class RefDemo04{

{K'N@ Uz r0

         public static void main(String args[]){51Testing软件测试网o P uswY

         Demo d1 = new Demo() ; //实例化Demo对象51Testing软件测试网)E:P9k?d?'O

         d1.setTemp(50) ;   //只能通过setter方法修改内容51Testing软件测试网"[/k8p+n.Hf/W"|/`8@

         d1.temp = 30 ;     //肯定会出现错误

N#nK f G;o0J8R0

         }51Testing软件测试网Tm-Z{(z:A

   } ;51Testing软件测试网JXu:u.D N

输出结果:51Testing软件测试网7[ v$p;D^'o

RefDemo04.java:15:错误: temp可以在Demo中访问private

hb DAF [.` hY0

                       d1.temp = 30 ;     //肯定会出现错误51Testing软件测试网M `nCmi Qs

                         ^51Testing软件测试网\"fGv3i\dHz!B

1个错误

&} l @~ \|_0

 51Testing软件测试网Q/euY%}+{h9R

class Demo{51Testing软件测试网,S$T}*LC]

      private int temp = 30 ; //声明temp属性并封装

6kXOxu0

   public void fun(Demo d2){

4zaZ2dBCgR0@ m0

       d2.temp = 50 ;     //直接通过对象调用本类的私有属性

5Q8uA5S!Y1kDg0

   }51Testing软件测试网s2Y3R X*X[

   public void setTemp(int t){   //setter

3oU6k,a_0

       temp = t ;

:M!O*L"W(u2Ag6[0

   }51Testing软件测试网 x0gT%O*z)iDX

   public int getTemp(){   //getter

D"wI5?N$gD0

       return temp ;

-\-EsB w0

   }

m| y6y.X%m'd U C0

   }51Testing软件测试网H(}Zp)V6_?&W

   

lY~;\a l0

   public class RefDemo04{

_ `a!S"k0

       public static void main(String args[]){51Testing软件测试网mX*Vi C;Ij`d

TAG:

 

评分:0

我来说两句

luoriver

luoriver

北漂一族,80后,计算机专业,从事SIP相关软件测试3年,热爱生活,崇尚运动。 爱看WWE、公开课。爱钻“牛角尖”,这就是我:luorivr!!!!!

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 345593
  • 日志数: 96
  • 图片数: 1
  • 建立时间: 2012-12-27
  • 更新时间: 2014-05-03

RSS订阅