A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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方法调用完毕");
        }
}

2 个回复

正序浏览
mi是非静态的对象,你的方法是静态的,静态方法的加载是随着类的加载加载的,但是mi对象没有加载,找不见mi,所以报错了。应该是这样的
回复 使用道具 举报
mi是非静态的对象,你的方法是静态的,静态方法的加载是随着类的加载加载的,但是mi对象没有加载,找不见mi,所以报错了。应该是这样的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马