是的,多态。
你必须得搞清楚多态了,Java最基本的东西。

解决方案 »

  1.   

    楼主要学会贴代码public class Demo {
        public static void main(String[] args) {
            if (args.length == 0) {
                System.out.println("no args.");
            }
        }
    }像楼主的代码层级多,又没有排版,没法看。
      

  2.   

           确实,上面的是多态,你可以简单的而理解为一种事物多种形态。实际上(Father)s和Father f=new Son();是一样的效果,都是子类对象指向父类引用,都发生了向上转型,这样导致的结果就是当子类有和父类同样的非静态方法的话编译的时候会看父类,运行的时候看子类,也就是上边仁兄所说的     编译看左边运行看右边,当相同的是静态方法或者是成员变量的时候就不存在编译看左边运行看右边的说法了,此时都看父类的