微信登录

类构造方法 - constructor - 同名|不同参数|多个

  1. public class Puppy{
  2. public Puppy(){
  3. }
  4. public Puppy(String name){
  5. // 这个构造器仅有一个参数:name
  6. }
  7. }

例子

调用

  1. Person person = new Person();

构造

  1. package com.example.demo;
  2. public class Person {
  3. private String name;
  4. private int age;
  5. public Person() {
  6. }
  7. public Person(int age) {
  8. this.name = name;
  9. this.age = age;
  10. }
  11. public Person(String name, int age) {
  12. this.name = name;
  13. this.age = age;
  14. }
  15. public String getName() {
  16. return name;
  17. }
  18. public void setName(String name) {
  19. this.name = name;
  20. }
  21. public int getAge() {
  22. return age;
  23. }
  24. public void setAge(int age) {
  25. this.age = age;
  26. }
  27. @Override
  28. public String toString() {
  29. return "Person{" +
  30. "name='" + name + '\'' +
  31. ", age=" + age +
  32. '}';
  33. }
  34. }

private私有变量,意思是改变这个变量要用set()方法改变,get()方法直接返回
构造器、构造方法、constructor没有参数
构造器、构造方法、constructor有参数
构造器、构造方法、constructor定义了有参数构造器,就要再写一个没有参数的构造器
get()、set(),可以判断这个传入的数符不符合规矩
this,当方法传入时,用(String name)要this.name = name,不可以name.name
构造器里调用this();说明调用无参构造器
构造器里调用this(age);说明调用有参构造器
this();只能在第一行
this();只可以调用构造器数-1次
this();1个构造器不可以同时调用2个构造器
重写toString方法,可以看到数据Student{a=’s’, b=1}
重写hashCode
重写equals方法,可以比较内容,而不是对比对象