Java编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。
方法的参数传递: ①形参:方法声明时,方法小括号内的参数 ②实参:调用方法时,实际传入的参数的值 规则:java中的参数传递机制:值传递机制 ①形参是基本数据类型的,将实参的传递给形参的基本数据类型的变量 ②形参是引用数据类型的,将实参的引用类型变量的值(对应的堆空间的对象的实体的首地址值)传递给形参的引用。 本质:都是传递给实参的都是其中的值。
Question1:引用变量是否属于对象? ArrayList myAL = new ArrayList(); myAL本身不是对象,而是对对象的引用。对象在内存中被创建,JAVA中只能通过使用对象变量(myAL)来引用内存中的对象。[实际上(myAL)是一 个指向内存的指针 而ArrayList myAL=new ArrayList();有两个意思 1、生成ArrayList()对象
2、把ArrayList()对象的引用付给myAL
ArrayList myNextAL=myAL;
this statement没有生成新的对象,只是又把myAL付给myNextAL,这两个引用都指向同一个ArrayList对象
|