如何在main方法中引用静态方法下的变量?

时间:2015-09-26 16:50:54

标签: java static-methods main-method

我的代码如下。

public class readfile {
    public static void readfile() {   
        int i = 0;  
        System.out.println("hello"); 
    }

    public static void main(String[] args) {  
        readfile(); 
        System.out.println(i); 
    }  
}

如果我不参考变量i,它会很好用。 (这意味着它可以打印出来。) 那么如何在主方法中引用i?

3 个答案:

答案 0 :(得分:0)

public class readfile {
    static int i;

    public static void readfile() {   
        i = 0;
        System.out.println("hello"); 
    }

    public static void main(String[] args) {  
        readfile(); 
        System.out.println(i); 
    }  
}
  • 正如UUIIUI在评论中所说,如果你在i内声明readfile(),它只在方法内有效。
  • 正如Murli在评论中所说,你需要在类字段中有一个成员变量。它也必须是静态的。

答案 1 :(得分:0)

您正在以错误的方式编写Java代码:

1.首先,Java中的类名char是大写的,所以你的类需要命名为ReadFile。

  1. 你不能在main方法中使用i变量,因为它只是readFile方法的局部变量,并且你有编译错误,因为在main方法中使用了i,而readFile方法中有一个警告,因为你没有在本地区块代码中使用它。
  2. Java对你来说是新的吗?你需要学习更多的知识。网上有很多书或文档。

    您的样本已更正,编译良好且运行良好:

    package stackWeb;
    
    public class ReadFile {
    
        static int i = 0;  
        public static void readfile() {   
    
            System.out.println("hello"); 
        }
    
        public static void main(String[] args) {  
            readfile(); 
            System.out.println(i); 
        }  
    }
    

答案 2 :(得分:0)

你可以试试这个

class readfile {
    static int i =0;
    public static void readfile() {   

        System.out.println("hello"); 
    }

    public static void main(String[] args) {  
        readfile(); 
        System.out.println(i); 
    }  
}