User.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.sf.ioc.simple;
  2. // 面向对象
  3. // 类里面有什么 (成员)
  4. // 属性(变量 基础数据类型 or 引用数据类型)
  5. // 行为(方法/函数 方法名 + 形参「构成重载」 返回类型 return)
  6. // 一定是被类或者对象调用 static修饰的被类调用 其他都是被对象调用的
  7. // 先有类后有对象 静态的只能调用静态的 非静态的都可以调用
  8. // 类或者属性或者方法 不想被修改的时候 通过final修饰
  9. // 类被修改 叫做继承 方法被修改 叫做重写 属性被修改 叫做赋值
  10. // 构造器(特殊的方法) new调用的 new出来的对象 放在了“堆”中
  11. // “栈”和“堆” 一个相对较小 一个相对较大
  12. // 所谓的垃圾回收 是把放在堆中的对象 不再使用的识别为垃圾 进行回收
  13. // 无参构造器 和 有参构造器(全参构造器)
  14. // A类继承B类的时候 new A() 会默认调用父类的构造器
  15. // 代码块 只能被static修饰 变成静态代码块 非静态代码块 其实就是所有构造器中重复逻辑的抽离
  16. // 所以也叫初始化块 父类有静态代码块 非静态代码块 构造器 子类有静态代码块 非静态代码块 构造器
  17. // 内部类
  18. // 封装 private String name; get和set方法 JavaBean
  19. // 属性和方法
  20. // 多态 instanceof 在继承的情况下 A extends B; B b = new A();
  21. // 在接口实现的情况下 C implements D; D d = new C();
  22. // b instanceof A
  23. // d instanceof C
  24. // Object类
  25. // hashCode() equals() toString()
  26. public class User {
  27. // 修改类结构的时候
  28. // 声明属性 添加get set 添加全参构造器 重写toString
  29. private String name;
  30. private String desc;
  31. // User类有一个属性 Role类的对象
  32. // zhangsan "admin"
  33. private Role role;
  34. // Auth类的对象
  35. // zhangsan "CRUD"
  36. private Auth auth;
  37. {
  38. // System.out.println("User");
  39. }
  40. public User() {
  41. System.out.println("User");
  42. // this.name = "name";
  43. }
  44. public User(String name) {
  45. System.out.println("User by name");
  46. this.name = name;
  47. }
  48. /**
  49. * <bean id="user1" class="com.sf.simple.User">
  50. * <constructor-arg name="desc" value="nothing"></constructor-arg>
  51. * <constructor-arg name="name" value="lisi"></constructor-arg>
  52. * </bean>
  53. *
  54. * @param name
  55. * @param desc
  56. */
  57. public User(String name, String desc) {
  58. System.out.println("User by name and desc");
  59. this.name = name;
  60. this.desc = desc;
  61. }
  62. public User(String name, String desc, Role role) {
  63. this.name = name;
  64. this.desc = desc;
  65. this.role = role;
  66. }
  67. // public User(String desc, Role role, String name) {
  68. // this.name = name;
  69. // this.desc = desc;
  70. // this.role = role;
  71. // }
  72. public User(String name, String desc, Role role, Auth auth) {
  73. this.name = name;
  74. this.desc = desc;
  75. this.role = role;
  76. this.auth = auth;
  77. }
  78. public Role getRole() {
  79. return role;
  80. }
  81. public void setRole(Role role) {
  82. System.out.println("User setRole ");
  83. this.role = role;
  84. }
  85. public String getName() {
  86. return name;
  87. }
  88. public void setName(String name) {
  89. System.out.println("User setName ");
  90. this.name = name;
  91. }
  92. public String getDesc() {
  93. return desc;
  94. }
  95. public void setDesc(String desc) {
  96. System.out.println("User setDesc ");
  97. this.desc = desc;
  98. }
  99. public Auth getAuth() {
  100. return auth;
  101. }
  102. public void setAuth(Auth auth) {
  103. System.out.println("User setAuth ");
  104. this.auth = auth;
  105. }
  106. @Override
  107. public String toString() {
  108. return "User{" +
  109. "name='" + name + '\'' +
  110. ", desc='" + desc + '\'' +
  111. ", role=" + role +
  112. ", auth=" + auth +
  113. '}';
  114. }
  115. }