形参与实参
来源:互联网 发布:网络图片头像男生背影 编辑:程序博客网 时间:2024/04/29 22:23
直白的讲,形参是形式上的参数,实参是实际的参数;形参只是对实参的一种抽象类型描述,只是声明一个函数(方法)能接受什么类型的实参,而不确定接受的实参具体内容是多少;实参就是传递给函数(方法)对应形参的具体内容(值),形参的初始指(内容)由实参决定.形参在函数(方法)结束返回后就被释放了.
到这里,就又出现程序设计语言中的另一通用概念参数传递方式,传值和传址;
1.传值方式,只是将实参的值的拷贝传递给函数(方法),在方法内对形参进行操作,其对象是实参的拷贝,对实参不能造成影响.在方法结束返回后,形参被释放丢弃,实参的内容并不会改变。
例子1:
public class ValueTest {public static void main(String[] args) {String str = "a";say(str);System.out.println(str);}private static void say(String str) {str = "a" + "b";}}
输出结果:a
2.传址方式,将实参的地址传递给函数(方法),在方法内对形参进行操作即等于对实参进行相同的操作, 在方法结束返回后,形参同样被释放,实参的内容将会是对形参进行操作的结果。
例子2:
public class AdressTest {public static void main(String[] args) {Student s = new Student();s.setName("zhangsan");s.setAge(21);change(s);System.out.println(s);}private static void change(Student s) {s.setName("lisi");s.setAge(22);}}class Student {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + "]";}}
输出结果:Student [name=lisi, age=22]
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参
- 形参与实参C
- 形参与实参
- 形参与实参
- c++形参与实参
- 形参与实参
- Java 形参与实参
- Java 形参与实参
- Java的形参与实参
- const 修饰形参与实参
- Java形参与实参题目
- 形参与实参的区别
- 形参与实参的区别
- java中形参与实参
- 建模和UML
- tomcat启动报错 Address already in use: JVM_Bind<null>:8080
- 大型工程的makefile编写及其维护管理
- cookie vs session的区别
- ACM数据库的检索应用
- 形参与实参
- struts2+jquery无刷新获取后台数据
- 跟facebook工程师交流HDFS笔记整理
- EditText 虚拟键盘默认设置成英文
- ORACLE并行FAQ
- Kluwer Online数据库的检索应用
- 用Gvim建立IDE编程环境 (Windows篇)
- WINCE 加入驱动DLL步骤
- DM368 NAND Flash启动揭秘