toString方法

Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或间接的继承自该类。
构造方法:public Object();

回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法? 因为他们的顶级父类只有无参构造方法

  1. package com.Demo14;
  2. import com.Demo13.Student;
  3. /*
  4. Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或间接的继承自该类。
  5. 看方法的源代码,选中方法,ctrl+B
  6. public String toString();
  7. 返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。
  8. 结果应是一个简明但易于读懂的信息表达式。【建议所有子类都重写此方法】。
  9. */
  10. public class DemoObject {
  11. public static void main(String[] args) {
  12. Student s = new Student();
  13. s.setName("zyl");
  14. s.setAge(18);
  15. System.out.println(s); //未重写:com.Demo13.Student@1b6d3586 重写后:Student{name='zyl', age=18}
  16. /*
  17. public void println(Object x) {
  18. String s = String.valueOf(x);
  19. synchronized (this) {
  20. print(s);
  21. newLine();
  22. }
  23. */
  24. }
  25. }
  26. ===================================================================================================================================
  27. package com.Demo13;
  28. public class Student {
  29. String name;
  30. int age;
  31. public Student(){
  32. }
  33. public Student(String name,int age) {
  34. this.name = name;
  35. this.age = age;
  36. }
  37. public String getName() {
  38. return name;
  39. }
  40. public int getAge() {
  41. return age;
  42. }
  43. public void setAge(int age) {
  44. this.age = age;
  45. }
  46. public void setName(String name) {
  47. this.name = name;
  48. }
  49. //重写toString方法,直接生成
  50. @Override
  51. public String toString() {
  52. return "Student{" +
  53. "name='" + name + '\'' +
  54. ", age=" + age +
  55. '}';
  56. }
  57. }

image.png

equal方法