欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Core Java (九) Java的方法参数,

来源: javaer 分享于  点击 42791 次 点评:106

Core Java (九) Java的方法参数,


在各种程序设计语言中方法的参数有两种,分别是:值调用,引用调用。

Java程序设计语言总是采用值调用,即方法得到了所有参数值的一个拷贝

细分的话,方法参数一共两种类型:

一个方法不可能修改一个基本数据类型的参数,但是可以修改一个对象的状态。


一定要注意,Java中对对象采用的是引用的拷贝,并不是引用调用,反例如下:

测试程序:

package com.xujin;

public class Test {
	public static void main(String[] args) {
		Employee[] staff = new Employee[2];
		staff[0] = new Employee("Bob", 1000);
		staff[1] = new Employee("Jim", 2000);
		
		//doesn't work
		swap(staff[0], staff[1]);
		System.out.println(staff[0].getName());//Bob
		System.out.println(staff[1].getName());//Jim
		
		staff[0].raiseSalary(0.5);//涨50%的工资
		System.out.println(staff[0].getSalary());//1500.0
		
		System.out.println(staff[0].getId());//1
		System.out.println(staff[1].getId());//2
	}
	
	public static void swap(Employee x, Employee y){
		Employee temp = x;
		x = y;
		y = temp;
	}	
	
}

class Employee{	
	public Employee(String name, double salary){
		this.name = name;
		this.salary = salary;
		id = nextId;
		nextId++;
	}
	
	public String getName(){
		return name;
	}
	
	public double getSalary(){
		return salary;
	}
	
	public int getId(){
		return id;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public void setSalary(double salary){
		this.salary = salary;
	}
	
	public void raiseSalary(double percent){
		this.salary *= (1 + percent);
	}
	
	private String name;
	private double salary;
	private int id;
	private static int nextId = 1;
}



相关文章

    暂无相关文章
相关栏目:

用户点评