黑马程序员技术交流社区

标题: 基础 求同乐 [打印本页]

作者: 杨华东    时间: 2012-10-9 14:20
标题: 基础 求同乐
是否可以从一个static方法内部发出对非static方法的调用?
作者: 李兆宁    时间: 2012-10-9 14:56
不可以。。。。
作者: 古银平    时间: 2012-10-9 15:14
  1. class StaticDemo {
  2.         public static void main(String[] args)
  3.         {
  4.                 StaticDemo sd =new StaticDemo(); //创建该方法所属类的对象,来从static方法中调用非static方法
  5.                 sd.staticDemo();
  6.         }
  7.         public void staticDemo()
  8.         {
  9.                 int y = 0;
  10.                 for(int x= 0;x<10;x++)
  11.                 {
  12.                         y+=x;
  13.                 }
  14.                 System.out.println("y="+y);
  15.         }
  16. }
复制代码
这个是完全可以的,可以建立该方法所属类的对象来调用,有个小代码看看!
结果 y=45
作者: 唐增友    时间: 2012-10-9 15:35
静态方法内部只能 访问静态方法或对象的方法
作者: 胡斌    时间: 2012-10-9 16:17
完全可以:静态方法引入局部对象,然后通过局部对象调用实例方法。

public class  lok
{
        public static void main(String[] args)
        {
                A a=new A();
                a.show();//主函数为静态的,这属于静态方法调用非静态。
                a.play(a);
        }
}
class A{
       
        void show()
        {
                System.out.println("static A!");
        }
        static void play(A p)
        {
               
                p.show();//同理,引入局部对象,调用非静态。
        }
}

作者: 杨志    时间: 2012-10-9 16:28
这样的题目!动动手一测试马上就知道!干嘛还要拿来问呢!
作者: 曾浩    时间: 2012-10-9 19:20
静态方法只能访问静态的成员变量和静态的方法
非静态方法可以访问静态的方法和成员变量
静态方法中不可以定义this super 关键字 因为静态优先对象先存在
调用非静态方法只能是用 对象名.方法名 这种格式  或者用this super
但是静态优先对象 先存在  也就是说 A存在了 但是B还没加载   那A就不可能调用B   
作者: 刘 佳    时间: 2012-10-9 23:09
建立非静态方法类的对象,用对象调用该方法
作者: 杨华东    时间: 2012-10-10 00:34
刘 佳 发表于 2012-10-9 23:09
建立非静态方法类的对象,用对象调用该方法

回答到 点子上了   果然不错啊  顶你
作者: 杨华东    时间: 2012-10-10 00:36
曾浩 发表于 2012-10-9 19:20
静态方法只能访问静态的成员变量和静态的方法
非静态方法可以访问静态的方法和成员变量
静态方法中不可以定 ...

咱可以间接  调用嘛    可能 项目里就有这样的 需要呢  嘿嘿
作者: 陈俊来    时间: 2012-10-10 12:12
当然可以啊
作者: 杨志    时间: 2012-10-10 12:50
虽然我被滔哥减了一分!但是我并不是鄙视新人的意思!
我还是要说!你这个问题真的是动手一测试马上就知道答案!
而且自动动手的答案比别人告诉你的印象好深很多!真心觉得这样的问题问起来没意义!
虽然是新人,但是也要严格要求自己的撒!加油吧!




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