黑马程序员技术交流社区

标题: java [打印本页]

作者: 赶路要紧    时间: 2015-4-24 15:12
标题: java
是否可以从一个static方法内部发出对非static方法的调用??
作者: cjmjava    时间: 2015-4-24 15:22
不可以,只能静态的方法只能使用静态的东西,但是非静态的方法可以使用静态的。
作者: 许庭洲    时间: 2015-4-24 15:23
本帖最后由 许庭洲 于 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);
  }
}


作者: 雾大探路    时间: 2015-4-24 15:41
不可以哦。
作者: stame01    时间: 2015-4-24 16:08
必须是静态的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2