private为什么不能定义变量在方法里

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Eric_splendid/article/details/81063749

public class Test1 {

void ss(){
private String st = "test";
int i = st.length();
}
}
第三行会报一个错误:
Illegal modifier for parameter st; only final is permitted
我想知道为什么呢?


在工作中别人遇到的面试题,这很明显是基础类的问题,但是我们工作很久的程序员们很多都会看不出来,

这个考察的其实是对权限修饰符的作用域范围是否掌握。


下面是答案:

变量和属性是有区别的:
变量是方法体中定义的,我们称为临时变量。
属性是类体中定义的。
1. 而权限标示符只用于修饰属性和方法。不修饰变量。
2. 方法中定义的临时变量在方法调用完成之后就不存在了,不需要用修饰符定义!

最佳答案
变量和属性是有区别的:
变量是方法体中定义的,我们称为临时变量。
属性是类体中定义的。
1. 而权限标示符只用于修饰属性和方法。不修饰变量。
2. 方法中定义的临时变量在方法调用完成之后就不存在了,不需要用修饰符定义!

猜你喜欢

转载自blog.csdn.net/Eric_splendid/article/details/81063749
今日推荐