日期:2014-05-20  浏览次数:20829 次

关于构造器的两点总结
1.有了自己创建的构造器,就可以通过类快速的创建很多对象,而没有此种构造器,就不能这么做了
2. 默认构造器
  1 java 类一定有构造器
  案例: ConstructorDemo.java
  2 如果类没有声明任何构造器,Javac自动提供一个
  默认构造器, 无参数默认构造器
  3 如果提供构造器声明, Javac将不再提供默认构
  造器.  
3.子类构造器 默认调用父类无参数构造器,所以建议:所有的类都提供无参数构造器!减少继承时候的
  麻烦。
4.构造器(构造方法) 的作用: 用来描述对象的创建过程的.
  1) 
  如: 月饼实例的创建, 使用面和馅创建.
  制作(构造器)
  月饼模子(类) -----> 月饼(对象)
  原料(构建参数)
   
  点类型 --------> 原点 
  坐标(1,2)

------解决方案--------------------
值得学习
------解决方案--------------------
1、构造方法名和类名一致,没有返回值类型也没有返回语句,即不可以写void、int、double等等这些返回值类型也不可以写return语句;写上的话就不是构造方法了,而是一个普通的方法,只不过名称也和类名一致。
2、一个类至少有一个构造函数,如果没有,JVM会自动为其创建一个无参空实现构造函数,其修饰符和类一致(因为是默认的),当父类自己定义了构造方法,JVM将不再自动给其添加默认的无参空实现构造方法,如果父类自己定义了一个或多个有参构造方法,同时自己没有定义无参构造方法时,那么在子类中调用父类构造方法时,其子类必需显示的明确调用父类的具体哪个构造函数;如果父类自己定义了一个或多个有参构造方法,同时自己也定义了无参构造方法时,那么在子类中调用父类构造方法时,如果自己未显示的调用具体的哪个构造方法,JVM就会隐式(默认调用无参,但要注意如果父类的无参构造方法,如果是私有的,那么就不可调用,否则会报错,)调用父类无参构造方法,并在子类构造方法的第一条语句,且在一个构造方法中只能调用一次。构造函数是在对象创建时调用,调用的顺序是必先调用父类的构造方法,然后再是自己的构造方法,在多层继承下,将从继承树的最上层开始,依次执行。
3、默认的无参构造方法,不会接收任何变量,也不会执行任何操作,主要用于初始化的时候调用,构造方法、普通方法都不允许递归的出现(自己调用自己,或互相偱还调用),应避免出现:StackOverflowError错误。
4、构造方法是以方法重载的形式出现的,其子类不能继承父类的构造方法,故不可重写,由于构造方法不能被继承,故重载也只在本类中出现(无论哪种方法的重载指的是在本类中重载)。当子类有和父类同名的构造方法名时,此时子类里的同名方法是一个新的普通方法,即必需要是有返回值类型的。
5、构造方法的调用是用new、this、super,可以在一个构造方法中用this来调用本类的其它构造方法,不能以一般的调用普通方法的方式来调用构造方法,此外在构造方法中可以使用this来调用本类的一般方法和属性,但一般方法不能调用构造方法,如果子类的构造方法要调用父类的构造方法,则使用super。