黑马程序员技术交流社区

标题: 这个程序有若干错误,肿么办 [打印本页]

作者: 15044393192    时间: 2016-3-28 22:54
标题: 这个程序有若干错误,肿么办
class   H{              //测试类
        public static void main(String[] args) {
                System.out.println("Hello World!");
                N n =new N();
                n.kiss();
                n.piss();
        }
}
class  M{              //含有miss方法的M类
        void miss(){
        System.out.println("miss");
        }
}
class  N{                //含有static方法的   N类
        int i;
        M mi =new M(); //如果从这里定义类的对象m,则 下面的kiss()方法无法调用 miss方法,为何?
        static void kiss(){   //静态方法,这样可以调用 类M中的miss方法
                M m =new M();
                m.miss();
                mi.miss();                  //。。。。。。。。。。为什么报错呢 ?。。。。。。。。
                System.out.println("static方法调用完毕");
                }
        void piss(){
           mi.miss();
           System.out.println("非static方法调用完毕");
        }
}

作者: chefei    时间: 2016-3-28 23:13
mi是非静态的对象,你的方法是静态的,静态方法的加载是随着类的加载加载的,但是mi对象没有加载,找不见mi,所以报错了。应该是这样的
作者: chefei    时间: 2016-3-28 23:14
mi是非静态的对象,你的方法是静态的,静态方法的加载是随着类的加载加载的,但是mi对象没有加载,找不见mi,所以报错了。应该是这样的




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