问答详情
源自:9-4 Java 中的继承初始化顺序

新人求教 哦


之前有设置父类Dad,和子类Son,父类有test()方法,

public class Initial {
    Son son = new Son();
    public static void main(String[] args){
        son.test();
    }
}

为什么上面的方法不行,而下面的可以呢?

public class Initial {
   
    public static void main(String[] args){

        Son son = new Son();

        son.test();
    }

为什么对象的建立在main外面 就会报错呢?还有,应该以静态方式访问类型 Dad中的静态方法
是什么意思呢?

提问者:慕粉1406301482 2017-03-04 11:28

个回答

  • YuanHuaQiang
    2017-03-04 14:54:33
    已采纳

    首先执行main方法内的代码 son.test(); 但是此时son还没有实例化,所以会报错


  • CassieNorthman
    2017-03-04 14:09:33

    main方法是程序的入口 执行时会从main方法进入,再逐条开始执行,遇到需要调用的时候再调用.因此需要放在main方法内.

  • 慕粉3979442
    2017-03-04 12:30:29

    不能放在main函数外面吧