开发者社区> 问答> 正文

java中为什么静态方法里面必须打印静态变量

java中为什么静态方法里面必须打印静态变量,静态方法为什么无法打印普通变量?

展开
收起
蛮大人123 2016-03-25 14:08:03 2118 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    那说明你还是没弄清楚静态和非静态的创建时机,变量有类变量和实例变量,也就是静态变量和非静态变量,类加载的时候就加载类变量也可以说是类自己的变量,而实例变量只有在实例化的时候才被创建,所以在调用静态方法的时候还没有创建实例变量,你怎么能调用实例变量呢
    所以问题的关键不是能不能访问,而是你必须指定实例,有了实例就可以访问

    class A
    {
    public int i;
    static public void foo(A instence)
    {
        println(instence.i); //这样就可以了。
    }
    }
    调用
    A a =new A();
    A.foo(a);
    2019-07-17 19:14:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载