JAVA中 在static方法内部能否调用非静态方法?

如题,JAVA中 在static方法内部能否调用非静态方法?

static方法内部不能直接调用非静态方法,可以在调用之前实例化非静态方法所在的类,再用类点方法来调用。例:非静态方法是className类里面的method();className cn=new className();cn.method();这样就可以了。希望能帮助你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-21
这个不可以哦., 静态上下文,不能调用非静态方法哦, 只能通过 "对象名 . 方法"来调用, 不能直接调用的哦!,
第2个回答  2013-11-21
http://itzyx.com/?p=294

1.顶级类
1) 可以定义任何静态和非静态的成员;
2) 顶级类不能是静态(static)的,若要加上其它关键字只能是public,final,abstract
3) 抽象类(abstract)和接口(interface)不能是final的.
4) 顶级类的静态方法中:可以直接访问该类的静态成员;访问非静态成员通过“new 顶级类().成员“的方法访问。访问静态内部类的成员通过“new 静态内部类().成员”的方法访问; 访问非静态内部类的成员通过“new 顶级类().new 非静态内部类().成员”方法访问.
5) 顶级类的非静态方法中:可以直接访问顶级类中的所有静态和非静态成员;访问静态内部类的成员和非静态内部类的成员方法一样,通过“new 静态内部类().成员”、“new 非静态内部类().成员”访问
2.非静态内部类
1) 非静态内部类中不允许定义静态的成员;
2) 非静态内部类非静态方法,访问静态内部类成员的方法:
如下代码::
相似回答