当创建一个对象时,它的构造方法就会自动被调用,构造方法和类名相同,没有返回值。
如果类没有定义构造函数,编译器会自动给他提供一个没有参数的 默认构造函数。
而这个程序的错误就可以被找出了,在主函数中有一个没有参数的函数,而下面的构造函数是自己创建的有参数的构造函数。如果类提供一个自定义的构造方法,将导致系统不再提供默认的构造方法。所以new Foo()中一定要和自定义构造函数相同,也即是要写成带参数形式。