`
hmeng
  • 浏览: 15269 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

参数传递

阅读更多
1、JAVA中的数据类型有两大类
   一是基本数据类型:
     a. byte   字节型  1字节  8位      取值范围(-128~127)
     b. short  短整型  2字节  16位             (-2^15~2^15-1)
     c. int    整型    4字节  32位              (-2^31~2^31-1)
    d. long   长整型  8字节  64位              (-2^63~2^63-1)
    e. float  单精度  4字节  32位              (-2^31~2^31-1)(科学计数法)
    f. double 双精度  8字节  64位              (-2^63~2^63-1)(科学计数法)
     g. char   字符型  2字节  16位              (0~2^16-1)
    h. bool   布尔型  true和false
    内存分配:变量名和值一般存在栈中,例如 int i=10; i 和 10 都存在栈空间中。

   二是引用类型(类类型):
     通过类创建的对象的变量名,所有用class,interface,abstract class定义的类和接口以及数组都属于该类型。
     内存分配:在堆中创建新的空间,存储该类的属性及方法,栈中的变量名存储该内存空间的首地址,例如 Student a =new Student(); a存在栈中,a中的内容为在堆中新开辟的内存空间的首地址,该内存空间存储Student类的属性和方法。

2、值传递
     值传递适用于基本数据类型和String类。不改变变量的地址,只传值。比如 张三的一份作业,借给别人参考,别人抄完后并自己修改了一点,这时另一个人再借张三的作业,仍然是那份作业并没有改动。
   代码实例:
    public class Test {
	public static void main(String [] args){
		//实例化一个对象
		Test t=new Test();
		int i=10;
		//调用方法,在方法中改变i值
		t.change(i);
		System.out.print("i:"+i);
	}
	public void change(int i){
		i=20;
	}
    }

运行结果:


3、引用传递
     引用传递适用于引用类型,String类除外。引用传递的传递方式:传地址,改变变量的地址。比如 张三的作业交给老师批改,老师直接在上面写上批语,张三再拿回作业时已经是被批注过的作业了。
代码实例:
public class Student {
	private String name;
	//设置学生姓名的方法
	public void setName(String name){
		this.name =name;
	}
	//获取姓名的方法
	public String getName(){
		return name;
	}
}
public class Manager {
	public static void main (String[] args){
		//实例化学生对象
		Student stu1=new Student();
		Student stu2=new Student();
		//设置第一个学生姓名
		stu1.setName("李玉");
		//将第一次创建的学生类的首地址传给stu2
		stu2=stu1;
		//设置姓名
		stu2.setName("王林");
		System.out.print("stu1:"+stu1.getName());				
	}
}

运行结果:

4、参数传递的方法:构造方法和普通方法
   构造方法传参,是在创建对象时传入参数,对对象进行初始化;
   普通方法传参,是在通过一般方法传入参数,两种方法无本质区别,均是传入参数。
   
  • 大小: 29.4 KB
  • 大小: 23.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics