new Person().eat(new Apple());这句先运行Person(),在运行new Apple(),在运行eat(),是这样吗?

解决方案 »

  1.   

    class Apple {    public Apple() {
            System.out.println("APPLE");
        }
    }class Person {    public Person() {
            System.out.println("PERSON");
        }    public void eat(Apple apple) {
            System.out.println("EAT");
        }
    }public class Test {    public static void main(String[] args) {
            new Person().eat(new Apple());
        }
    }看一下输出就明白了
      

  2.   

    你可以自己写测试看看呀, 
    在Person类,Apple类的无参构造函数中写log不就知道了?
    我的测试结果是:
    构造person -> 构造apple -> 吃;