参数传递

1.值传递
 值传递适用于Java中的基本数据类型和String字符串。
 byte,short,int,long,float,double,char,boolean,String
  传递方式:
  1.定义在栈内存中
  2.变量名中存储的是值
  3.将值拷贝一份传入到另一个变量名

eg: byte i =1

      int j=i

 


2.地址分配

          一般定义对象的方式是    类名 对象名 = new 构造方法名(参数)

         但如果这样

         类名  对象名;

         对象名 = new 构造方法(参数值,...);

 

         对于对象名   储存在栈内存中  而其属性和方法储存在对内存中

         当对对象调用时  会直接访问栈内存中储存的对象的地址

3.引用传递
         适用于Java中的对象类型和数组
          对象类型就包含了(class,interinterface,abstract class定义的类)

 传递方式:
  1.对象名在栈内存中,对象堆内存中
  2.对象名中存储的是对象在堆内存中的首地址。
  3.将对象名中存储的首地址拷贝一份存入到另一个对象名中

 

eg:   当定义一个Student 类之后

         实例化stu1 和stu2两个对象  

         使stu1=stu2

         此时stu2的地址改为了stu1的地址

         而此时如果改变stu1的属性和方法则stu2也会受到影响

 

         另外   当stu1=stu2这一步执行之后  JAVA程序会自动对stu2在堆内存中存储的内容进行释放

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值