我再一个非静态类中,定义了一个静态方法。我要在这个静态方法中去调用这个类中的一个非静态的方法。但编译报错
“错误 7 非静态的字段、方法或属性“要求对象引用 ”请问这是为什么,语法就是这么规定的?  谁给我讲讲。。感谢 如果我想调用 该怎么办

解决方案 »

  1.   

    new 类名(构造函数参数).非静态方法(方法参数);
      

  2.   

    class My
    {
    public void Instance()
    {
    }
    public static void Static()
    {
    //实例方法需用对象调用
    new My().Instance();
    }
    }
      

  3.   

    new 对象().方法名();
    实例化对象
      

  4.   

    那为什么那。就没有为什么?无法就这么规定的?但这样从性能上讲是不是不好啊?如果一个类中的两个方法互相调用。就不用开辟新内存了?静态方法调用非静态 new 对象().方法名(); 实例化对象 这样就是实例化个对象? 新开辟个内存?是不是这个概念啊 新手 请谅解 多解答
      

  5.   

    不想NEW 把要调用的方法的类也写成静态的
      

  6.   

    就没有为什么?无法就这么规定的? 这叫规定?这哪是规定!你知道什么叫实例方法不?实例方法需要对像调用,没对像咋调用实例方法?如果是在实例方法中调用,对像就是this,静态方法没有对像,你又不生成,咋调用?你以为设计人员脑残,设计这么个语法?本来就是理所当然的,怎么叫规定?