【问题标题】:Why Java will not allow to use access modifiers in loops?为什么 Java 不允许在循环中使用访问修饰符?
【发布时间】:2018-09-29 12:27:28
【问题描述】:
for(public int i=0;i<10;i++) {

        System.out.println(i);

        }
for(private int i=0;i<10;i++) {

        System.out.println(i);

    }

Eclipse 说只允许 final。

【问题讨论】:

  • 因为局部变量永远不能在它们声明的范围之外被访问。
  • 您希望在循环中声明的公共变量的语义是什么?
  • 我问过那个问我这个问题的人同样的问题,但他说你找到了。他还问我哪个是局部变量的默认修饰符
  • 那你不是很有才华的公司,是吗?
  • 这个问题是在我的工作面试中提出的:P

标签: java loops final access-modifiers


【解决方案1】:

首先我们需要知道访问修饰符的需要是什么。 访问修饰符限制对另一个类中的类、构造函数、数据成员和方法的访问。

但是当我们在循环中声明一个变量或任何东西时,它们的范围/使用仅限于该循环。 这意味着我们只能在该循环内使用这些变量。我们不能在该循环之外使用这些变量。 (SUN写java的人有限制)。

所以如果我们不在循环外使用循环变量,那么在循环内需要使用访问修饰符吗?这就是为什么java不允许它。

【讨论】:

    猜你喜欢
    • 2011-01-24
    • 2013-12-14
    • 2010-10-28
    • 2011-04-12
    • 2016-12-11
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多