A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是否可以从一个static方法内部发出对非static方法的调用? 如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1

查看全部评分

9 个回复

倒序浏览
调用不了
回复 使用道具 举报
都21分了,很多问题要自己验证,要技术分,很随意
回复 使用道具 举报
  1. public class StaticTest {
  2.         public void m1(){
  3.                 System.out.println("m1");
  4.         }
  5.        
  6.         public static void m2(){
  7.                 new StaticTest().m1();
  8.                 System.out.println("m2");
  9.         }
  10. }
复制代码
static方法内部发出对非static方法的调用当然是可以的,如上所示。非static方法关联的对象自然是执行该方法的对象。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 郭天龚 于 2013-6-14 14:23 编辑

无法在静态方法中调用非静态成员,因为被static修饰成员是类相关的,类加载是就有了。而没有被static修饰的成员是实例相关的,类加载时,不一定有对象实例,所以静态方法中无法调用静态方法。
楼上这位在静态方法中创建了一个对象实例,这样也是可以调用的。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
我只是路过,不发表意见





















如何测试防辐射服
回复 使用道具 举报
苑永志 发表于 2013-6-14 10:59
static方法内部发出对非static方法的调用当然是可以的,如上所示。非static方法关联的对象自然是执行该方法 ...

刚看到你的帖子  ;P
回复 使用道具 举报
薛良玟 发表于 2013-6-14 14:33
我只是路过,不发表意见

怎么不发表意见呢   发表了  我会给你加相应的技术分
回复 使用道具 举报
楼主你好  如果帖子的问题已解决,请把帖子的类型改为已解决,如果没解决请继续追问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马