黑马程序员技术交流社区

标题: 静态方法 调用 非静态方法怎么调用呢? [打印本页]

作者: 卢其龙    时间: 2012-1-10 14:34
标题: 静态方法 调用 非静态方法怎么调用呢?
静态方法 调用 非静态方法怎么调用呢?
能实现吗?怎么实现

    class Program
    {
        static void Main(string[] args)
        {
           // x();  这里怎么调用
        }
        void x()
        {
        }
    }
作者: 朱泽宇    时间: 2012-1-10 14:50
Program pg =new Program();
pg.x();

还有你main函数里面应该是(String [] args) 记得大写
作者: 李林轩    时间: 2012-1-10 16:49
把非静态改为静态
static void x()
        {
        }

或者 在主函数里
Program pg =new Program();
pg.x();


作者: 张伟    时间: 2012-1-10 17:12
static void Main(String[] args)
这个是主函数,是程序入口。
作者: 李建平    时间: 2012-1-10 19:16
非静态方法不能通过类直接访问,必须通过类的实例对象才能访问;静太方法可以通过类直接调用,这也是静态与非静太的区别之一. 

作者: lvwenwen88    时间: 2012-1-10 22:49
静态方法中是可以引用非静态变量的。前提是要先产生一个对象。我们最熟悉的main就是一个静态方法啊,你只有在初始化一个对象后才可以引用非静态变量
作者: 刘建宇    时间: 2012-1-11 15:22
创建Program对象调用方法就是了,你直接调用会报错
静态方法不能直接调用非静态方法
作者: 黑马巩伟伟    时间: 2012-1-11 21:08
静态方法及变量属于整个类,数据将会被存储在公共区域,
非静态方法及变量属于对象,要调用必须得知道是那个对象
的,所以在调用之前先创建一个对象,再用对象调用非静态方法
class Program
    {
        static void Main(string[] args)
        {
                 new   Program().void();             // 调用非静态方法
        }
        void x()
        {
        }
    }







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