java中参数(对象与简单类型)的区别

原创 2007年09月19日 14:21:00

 简单类型,形参的改变不改变实参的值
 对象就不一样了,它的参数实际上是一个引用,指向的是同一个对象,形参的修改会影响实参 

 void A(int p){
    p=10;
}

void B(ArrayList al){
    al.add("yy");
}

test(){
  int i =100;
  A(i);
System.out.println(i);              // i的值没变还是100  
 ArrayList aList = new ArrayList();
 B(aList);
  System.out.println(aList.size());           //打印出来是1,而不是0,已经改变了
}


总结至此

对了,值得注意的是,String 类型和Wrapper类型(Integer,Double,……) 还是不改变的

相关文章推荐

面向对象语言(如Java)中:基本类型与对象在存储和参数传递上的区别

面向对象语言(如Java)中:基本类型与对象在存储和参数传递上的区别 转自:http://zhidao.baidu.com/question/1959395493986765260.html ...

重新理解Java -- 类型、值、对象、参数传递

Java的类型、值、对象以及值传递,常常是众多面试官喜欢混淆的概念之一。自以为有清晰了解的童鞋们,也常常在面试官的妖言之下就迷失方向,而笔者就是其中一个。为此,笔者翻看了The Java Langua...
  • Memono
  • Memono
  • 2014年03月24日 17:21
  • 1404

java 对象类型的参数传递

本人初学java在学习到对象型参数传递时,对此感觉思维混乱。最终花了半天时间理清了思路: 我写了一个简单的程序来辅助理解: 其实定义了7个类的实例,进行改变和交换,从中观察其规律。   package...
  • kwq114
  • kwq114
  • 2013年07月04日 18:49
  • 340

学习android JNI的那些事儿--------6. 在java中传入引用数据类型(对象)作为参数

之前我们介绍过在java中传入一些基本数据类型作为参数在jni中的处理,这里我们来介绍下载java中传入我们自定义的一个对象作为参数。 我们先自定义一个class为student public c...

利用java反射获取泛型类的类型参数具体类对象

项目中有这样的需求, 要求在

JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1

JAVA知识深度回顾总结-第一天八种基本数据类型的大小,以及他们的封装类 分类 - 类型—————范围——————封装类 整型 byte ———- [-128~127] ———— Byte shor...

JAVA之等号、传类对象参数与c++的区别

在JAVA中用等号对类对象进行赋值,实际上操作的是对象的地址。 eg: package MyText; class ClassA { int value; public void seta(...

JAVA中对象赋值与主数据类型赋值的区别

在JAVA中,主数据类型的赋值操作与对象间的赋值操作存在一定的差异,有时候并非我们想的那么简单。...

java中创建String类型对象的两种方式以及在使用equals()和“==”两种方法时的区别

string 对象创建的两种方式 String aString="a"; String bString = new String("a"); 其中aString是通过直接赋值的方式创建,bStr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中参数(对象与简单类型)的区别
举报原因:
原因补充:

(最多只允许输入30个字)