• 方法传参


    关于方法传参:

      (参数也叫 参变量 ,它是专属于方法体的局部变量!)

      首先我想先说一个结论:基本数据类型作形参时,实参向形参传递的是值;引用数据类型作形参时传递的是

    对象。(其实传递都是值,具体可参考http://www.cnblogs.com/wsw-blog/articles/my-bolgs-898558572.html)

         我们知道在调用带参方法时需要按照该方法的形参变量列表将类型、顺序一 一对应的实参变量的值传递过去。

    这就是方法的参数传递! 

      当基本数据类型作为形参时,无论形参变量在其所在的方法内被如何操作都不会对传值给他的实参变量有任 何影响!基本变量就好比存储数据的U盘,形参变量就是一个空U盘而实参变量就是一个存有数据的U盘。参数传递就是把有数据的U盘(实参)内的数据拷贝一份给空U盘(对形参变量初始化)。当你对空U盘(当然现在不是空的了)作删除、添加(其实就是对形参变量的重新赋值)操作时,并不会影响到拷贝数据给它的U盘(实参)内的数据!因为它们两个是两个完全独立的空间!一个空间内容的改变并不会 影响到另一个!  

      当引用数据类型作为形参时,其实是把作为实参的引用变量里储存的地址 (它指向对象所在堆内存的地址) 传给了作为形参的同类型的引用变量,所以这时它们两个指向的是一个堆内存,也就是说是一个对象。所以我们可以通过形参变量点出该对象的属性并对其进行修改!就好比A仓管员可以管理公司仓库,但是一个人管理仓库太累,公司又招了B仓管员。就是把A仓管员的权限赋给了B,这时他们俩谁都可以管理公司仓库(但他俩只能管理本公司仓库不能管理其他公司的仓库)。也就是说他们都是指向一个仓库!这里的仓管员A、B就是 仓库类型 引用的两个变量,而一个具体的公司仓库就是仓库类型的一个实例。我们可以通过仓管员(引用变量)知道仓库里有什么东西(就是student.name;)或者改变仓库里的东西(student.age = 20;)。仓管员拥有的是指向具体仓库的管理权限就是引用变量存储它所指向的类实例的地址。到了这里我们就明白了,其实引用变量最大的作用不是存值而是作为一个指针的作用!(貌似越说越复杂了,其实它本身就很复杂!如果还是不明白可以私信给我。)

  • 相关阅读:
    NOIP普及组2003经验总结
    Day6上午 DP练习题
    Day4 图论
    Day3 数据结构
    使用ettercap进行dns欺骗和获取目标浏览的图片
    flask入门
    攻防世界-web-unserialize3
    数据结构课设作业-----飞机订票系统
    bugku NaNNaNNaNNaN-Batman
    it's a test
  • 原文地址:https://www.cnblogs.com/wsw-blog/p/my-bolgs.html
Copyright © 2020-2023  润新知