final声明疑惑?
                 	
                        发表在Java答疑区
                        2017-06-18                                                
                    		
                                                                            	
                        
                        
                    
                    
                    	是否精华
                    	是
                    	否
                    
                    
                    
                            版块置顶:
                            是
                            否
                        
                    public class FinalDateTest {
final int VALUE_ONE = 6;// final 成员变量不可更改
final int BLANK_FINALVALUE;// 在声明final变量时没有赋值,称为空白final
public FinalDateTest() {
BLANK_FINALVALUE = 8;// 在构造方法中为空白final赋值
}
int doit(final int x) {// 设置final参数,不可以改变参数x的值
return x + 1;
}
int dosomething() {
final int i = 7;// 局部变量定义为final,不可改变i的值
return i;
}
public static void main(String[] args) {
FinalDateTest fd = new FinalDateTest();
System.out.println(fd.VALUE_ONE);
System.out.println(fd.BLANK_FINALVALUE);
System.out.println(fd.doit(2));
System.out.println(fd.dosomething());
}
}
疑问:
int doit(final int x) {// 设置final参数,不可以改变参数x的值
return x + 1;
}
语句中 参数x被final修饰,用 System.out.println(fd.doit(2));语句输出为:3 ,这里不是改变了x的值吗?
与
int doit( int x) {
return x + 1;
}
相比较,输出的结果都是3,这里的参数x 有什么差别?
于2017-06-18 13:55:16编辑
        
        	
        
        
      首页上一页 1  下一页尾页 3 条记录 1/1页
        
 
	
                                                 VIP会员
VIP会员 购物车
购物车


 私信
                         私信 
                     
					 
					 
					 发表新帖
发表新帖 立即签到
立即签到 
        		  
        		 
         		 关注
关注
                  回复
 回复 支持(
                	支持( 反对(
                    反对( 
                     
               			  已解决
已解决 
                







 
                     
                     
					 
						 
						 
						 
						