局部变量引起歧义的面试题
/** * * @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”