main方法中的受保护变量

时间:2014-02-08 10:48:13

标签: java variables

我将我的本地变量声明为protected,与其他常规变量同名。

我的代码:

public class jc8 {

  private int x = 8;

  public static void main(String[] args) {

    protected int x = 5;               // compile time ERROR
  }
}

为什么?

4 个答案:

答案 0 :(得分:1)

您不能在方法块中使用protected关键字。这是为了修改access的{​​{1}},而不是members。想一想。你的局部变量的范围只是主要方法。根据定义,它是该方法的私有。

实施例

local variables

这将允许您班级的子类有权访问protected int x = 10; public static void main(String[] args) { // Valid }

答案 1 :(得分:0)

“public”,“protected”或“private”是可见性修饰符,可以应用于类成员而不是局部变量。

但更重要的是,你用这个定义试图完成什么?,你要保护的局部变量的含义是什么?考虑一下这个并尝试理解“为什么”这是不可能的在java。

答案 2 :(得分:0)

o   Protected Accessibilty:
    Indicates that a member can be accessed from any class in the same package and from the child classes from other packages. A keyword “protected” is used to represent protected accessibility before the data type of a member declaration.
Example:
protected int y;
protected void method(){}

所以你不能在代码块中使用protected。你需要在代码块之外声明它 你宣布了​​

 public static void main(String[] args) {

    protected int x = 5;               // compile time ERROR
  }

正确的方法是

protected int x = 5; 
 public static void main(String[] args) {

                  // compile time ERROR
  }

答案 3 :(得分:0)

未修改局部变量。 为什么你要这么做?

它们的范围在方法括号之间。