面向对象基础8(构造器与构造器重载)

  1. 构造器规则:用于初始化对象
  2. 必须用关键字new来调用
  3. 类必然存在构造器

构造器重载

一个类中可以定义多个构造器,形参列表必然不同

this调用:紧跟括号——this(参数)只能出现在构造器中

  1. 代表调用同一个类中重载的构造器,**只能出现在构造器的第一行**

this引用:紧跟一个.——this.name

举例:

  1. public class Constructor {
  2. private String name;
  3. private String color;
  4. private int id;
  5. //以下为两个构造器重载
  6. public Constructor(String name, String color) {
  7. this.name = "idiot" + name;
  8. this.color = "sex" + color;
  9. }
  10. public Constructor(String name, int id, String color) {
  11. //调用重载的构造器,到底调用哪个,取决于传入的参数
  12. this(name, "传进去的color P用没有");//调用(String,String)构造器,也就是此处的第一个构造器
  13. //this(name,20);//调用(String,int)构造器
  14. this.id = id;
  15. }
  16. public String getName() {
  17. return this.name;
  18. }
  19. public String getColor() {
  20. return this.color;
  21. }
  22. public int getId() {
  23. return this.id;
  24. }
  25. }
  1. public class ConstructorTest {
  2. public static void main(String[] args) {
  3. Constructor a = new Constructor("wyd", 3, "green");
  4. System.out.println(a.getColor());
  5. System.out.println(a.getName());
  6. System.out.println(a.getId());
  7. }
  8. }
  9. /*
  10. sex传进去的色P用没有
  11. idiotwyd
  12. 3
  13. */