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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赶路要紧 中级黑马   /  2015-4-24 15:12  /  394 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

是否可以从一个static方法内部发出对非static方法的调用??

4 个回复

倒序浏览
不可以,只能静态的方法只能使用静态的东西,但是非静态的方法可以使用静态的。
回复 使用道具 举报 1 0
本帖最后由 许庭洲 于 2015-4-24 15:24 编辑

//若想静态方法内部调用非静态方法,可以传递一个对象的引用到静态方法里
package com.jldx.test;
public class StaticInvokeNonStaticMethod
{
   private String name;
   public Static InvokeNonStaticMethod(String name)
  {
       this.name = name;
  }
  public static void main(String[] args)
  {
     Static InvokeNonStaticMethod s = new StaticInvokeNonStaticMethod("北京");
     Static InvokeNonStaticMethod s2 = new StaticInvokeNonStaticMethod("上海");
     s.ask(s);
     s.ask(s2);
   }      public static void ask(StaticInvokeNonStaticMethod s)
  {
    System.out.println("静态方法内部调用非静态方法");
    s.say();
  }
  public void say()
{
    System.out.println("this city is " + name);
  }
}

回复 使用道具 举报 2 0
不可以哦。
回复 使用道具 举报
必须是静态的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马