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虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收 ......
Eclipse 常用插件的安装
1)Download plugin package
2) Exit Eclipse App
3) Unzip the plugin and copy it to ..\Eclipse\plugins
4) Restart Eclipse App
J2EE 的开源平台
Eclipse+Tomcat+Lombez+MyEclipse
MyEclipse: MyEclipseEnterpriseWorkbeachInstall , 安装到目录Eclipse 下才可以正常使用。
Servlet ......
/*
*日期:2010-04-19 22:02
*开发者:heroyan
*联系方式:zndxysf@126.com
*功能:带有限期的作业排序,假设每个作业都可在单位时间内完成,完成后获得一定的效益,求效益的最大值和作业顺序
*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class JobSort{
private st ......
大家好,这里有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 ......
C# Java命名规则
C# (C#高级编程,微软设计模式)
命名空间,类,方法 :每个单词的第一个字母大写 例 ServerCode。
(采用Pascal大小写规则)
私有成员:单词的第一个字母小写,通常前面加上“_” 例 _name 或 _serverCode。
(采用camell大小写规则)
Java (java设计 ......