java面向对象-3-方法参数传递

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象-3-方法参数传递相关的知识,希望对你有一定的参考价值。

    java的方法不能独立存在,一定是在类中的,并且java中方法的参数一定是值传递的。但是,有时候因为参数是引用类型,比如String类型,数组类型,String str=“hello world”;str这个标识符所指向的内存块并不是“hello world”那个内存块,而是“hello world”内存块的地址。这个时候,我们就会发现,java中方法参数传递感觉不是值传递,因为方法操作完后,原来的值也变了,其实不是,这只是我们的错觉。方法操作完之后,str所代表的地址并没有变,而是指向的那块内存里的内容变了。

而基本数据类型,例如int a=5; 其中a代表的内存里,存放的就是5,所以方法操作后,并没有变。如下图所示:

    

技术分享


    

//参数可变的方法
public void func(int a,String... str){
    //语句;
}
/*
    ① 长度可变的形参只能处于形式参数列表的最后。
    ② 一个方法中最多只能包含一个长度可变的形参。
    ③ 长度可变的形参本质就是一个数组类型的形参
*/
//上面的方法相当于
public void func(int a,String[] strs){
    //语句;
}


本文出自 “夕下等花逝” 博客,请务必保留此出处http://sunshine2624.blog.51cto.com/3959438/1875976

以上是关于java面向对象-3-方法参数传递的主要内容,如果未能解决你的问题,请参考以下文章

Java Review (七面向对象----方法深入)

Java Review (七面向对象----方法深入)

原Java学习笔记015 - 面向对象

JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案

JAVA方法的定义

学习java第三天---面向对象