易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中的值传递和引用传递

在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论:
  对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。
  对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。
  方法体内对参数进行运算,不影响原有变量的值。
  方法体内对参数所指向对象的属性进行运算,将改变原有变量所指向对象的属性值。
  在JAVA中变量有以下两种:
  基本类型变量,包括char、byte、short、int、long、float、double、boolean。
  引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
  最后我们得出如下的结论:
  基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。
  对象和引用型变量被当作参数传递给方法时,在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。
  2 public class Person
  3 {
  4   private String name = null;
  5   private int age = 0;
  6
  7   public Person(String name, int age) {
  8     this.name = name;
  9     this.age = age;
  10   }
  11
  12   public void changeName(String newName) {
  13     this.name = newName;
  14   }
  15
  16   public void changeAge(int newAge) {
  17     this.age = newAge;
  18   }
  19
  20   public String toString() {
  21     return "Person - Name: " + name + ", Age: " + age;
  22   }
  23 }
  24
  25 public class PassByValue
  26 {
  27   public static void main(String[] args) {
  28     // one example
  29     String value1 = "value1: aaa";
  30     String value2 = "value2: bbb";
  31
  32     swapValue(value1, value2);
  33
  34     System.out.println(value1);
  35 &n


相关文档:

Java的垃圾回收之算法

引言
  Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收 ......

java程序中String args[]起什么作用?

在下面这个程序中String args[]起什么作用?我学过C++,String args[]与C++中的什么类似?如果是C++,想要输出字符串只要在下面写cout<<"...."<<endl;就可以了,void main()中的括号为空,而java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.printl ......

JAVA excel

<%    
 response.setContentType("application/vnd.ms-excel;charset=utf-8");
 String  reportname = (String)request.getAttribute("reportname");
 String  reportFileName=java.net.URLEncoder.encode(reportname, "UTF-8");
 String  filenamedispla ......

【IBM需求信息】 JAVA, C/UNIX需求

大家好,这里有IBM的三个长期需求:均是需要2年以上相关工作经验,其中Java以及Testing需要英语可以交流,C/Unix不需要语言。
Java 大连
描述:Java programming, knowledge in J2SE, SWT/JFace, XML. Eclipse programming, knowledge in eclipse architecture. Clear understanding of plugin development. Hands-on exp ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号