局部变量引起歧义的面试题

/**
 *
 * @title:LocalVariables.java
 * @Package:com.you.model
 * @Description:<h3>一句话描写叙述功能</h3>
 * @author:游海东
 * @date:2015-3-12下午9:45:26
 * @version V1.0
 *
 */
package com.you.model;

/**
 *
 * 项目名称:SSH
 * 类名称:LocalVariables
 * 类描写叙述:
 * 创建人:游海东
 * 创建时间:2015-3-12下午9:45:26
 * 改动人:游海东
 * 改动时间:2015-3-12下午9:45:26
 * 改动备注:
 * @version V1.0
 *
 */
public class LocalVariables 
{
	/**
	 * 
	 * 方法名:obtainStr
	 * 方法类型:LocalVariables
	 * 參数:@param str
	 * @return :void
	 * @throws
	 */
	public static void obtainStr(String str)
	{
		str = "You";
	}
	
	/**
	 * 
	 * 方法名:main
	 * 方法类型:LocalVariables
	 * 參数:@param args
	 * @return :void
	 * @throws
	 */
	public static void main(String[] args) 
	{
		String subStr = "123456";
		System.out.println("调用方法之前:"+subStr);
		obtainStr(subStr);
		System.out.println("调用方法之后:"+subStr);
	}

}


执行结果:

调用方法之前:123456
调用方法之后:123456


说明:

     因为subStr是一个局部变量。即使调用obtainStr(subStr),也不会改变subStr的值,故前后都是在main方法中的值“123456”

原文地址:https://www.cnblogs.com/lcchuguo/p/5128531.html