共同点:
  都是实例化对象,初始化数据的
  默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写有不写没有,它的作用和空参的一样,只是它里面可以有参数,给你个例子来说明吧
  有一个类Monitor它有属性String height;String
  width
  public Monitor(){}
  public Monitor(String height,String width){}
  有一个空参的一个有参的构造的方法
  在main方法里我做初始化动作
  Monitor monitor=new Monitor();
  这个构造只是把显示器这个对象创造出来了,它的属性没有值,也可以再手动给它赋上值
  如:monitor.height=100;
  monitor.width=200;
  用有参的不一样了,少很多事
  Monitor monitor2=new Monitor("100","200");
  在这里我只要把想放进去的参数直接放进去能给我的属性赋上值,是不是省了很多事?
  这是它的优势!
  回答完结!
  构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值
  总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载
  构造函数与其他方法的区别
  1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.
  2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
  3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
  4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点