java面向对象-3-方法参数传递
2016-11-23 21:56
288 查看
java的方法不能独立存在,一定是在类中的,并且java中方法的参数一定是值传递的。但是,有时候因为参数是引用类型,比如String类型,数组类型,String str=“hello world”;str这个标识符所指向的内存块并不是“hello world”那个内存块,而是“hello world”内存块的地址。这个时候,我们就会发现,java中方法参数传递感觉不是值传递,因为方法操作完后,原来的值也变了,其实不是,这只是我们的错觉。方法操作完之后,str所代表的地址并没有变,而是指向的那块内存里的内容变了。
而基本数据类型,例如int a=5; 其中a代表的内存里,存放的就是5,所以方法操作后,并没有变。如下图所示:
而基本数据类型,例如int a=5; 其中a代表的内存里,存放的就是5,所以方法操作后,并没有变。如下图所示:
//参数可变的方法 public void func(int a,String... str){ //语句; } /* ① 长度可变的形参只能处于形式参数列表的最后。 ② 一个方法中最多只能包含一个长度可变的形参。 ③ 长度可变的形参本质就是一个数组类型的形参 */ //上面的方法相当于 public void func(int a,String[] strs){ //语句; }
相关文章推荐
- java面向对象入门之方法参数的传递
- 06_二维数组【四种格式、打印杨辉三角、Java中参数传递、数据加密案例】、面向对象【对象内存图】
- java 18:给方法传递对象参数,对象数组
- java之给方法传递对象参数
- 6 Java基础语法(二维数组,参数传递与数据加密问题)&面向对象(面向对象思想,类与对象及使用,对象内存图解)
- java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
- 面向对象语言(如Java)中:基本类型与对象在存储和参数传递上的区别
- Java面向对象-方法的值传递和引用传递
- Java面向对象-方法的值传递和引用传递
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- JAVA本地方法调用(3)对象参数传递
- Java中方法调用参数传递的方式是传值,尽管传的是引用的值而不是对象的值。(Does Java pass by reference or pass by value?)
- 在Java中方法参数的传递,对象是传递引用
- 在Java中方法参数的传递,对象是传递引用
- java面试题解惑:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- Java 把对象作为参数传到一个方法里,这个是值传递还是引用传递, 为什么结果这么怪?
- Java面向对象【经典案例】Java 只有一种参数参数传递规则: 基于值的传递!
- 面向对象 参数传递 (方法 -- 构造方法--重载)
- 面向对象----构造方法、this 关键字、函数的参数传递、package语句/import语句
- Java - 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?