2016-09-17 219 views
-3
public class Outer { 
    static int x=200; 
    void show(){ 
     Inner in=new Inner(); 
     in.display(); 
    } 
    public class Inner{ 
     void display(){ 
      //In here I want to access 'x' to print. 
     } 
    } 
} 
+0

只需访问'x',它应该在范围内。 – dasblinkenlight

+0

只需使用x或Outer.x –

+0

我没有看到标题中提到的代码中的子类。标题很难理解。 – mm759

回答

0

像这样:

public class Outer { 
    static int x = 200; 

    public void method() { 
     System.out.println(x); 
    } 
} 

如果变量在另一个类中定义的,你就必须引用那个班也是。在这种情况下,该变量必须是public

public class OtherClass { 
    public void method() { 
     System.out.println(Outer.x); 
    } 
} 

编辑:

萨科有一个观点,我表示歉意。

+0

它不需要公开,因为它是一个内部类 –

+0

技术上是的。我添加了这个部分有两个原因,他可能需要从别的地方打电话给它,答案长度必须是30个字符:D – rorschach

+0

这是有史以来最糟糕的原因,提供误导/无效/不正确的信息只能达到30个字符,来吧 ?!? –