小白一枚:Java自学笔记——实体JavaBean

本文介绍了实体类的概念,强调其用于数据存取,通过提供get和set方法,与业务逻辑分离。以原神角色为例,展示了如何创建实体类和业务操作类,以及在测试类中的应用。
摘要由CSDN通过智能技术生成

 什么是实体类?

  • 就是一种特殊形式的类
    • 这个类中的成员变量都要隐藏(私有)
          private obj
      

      并且要对外提供相应的get、set方法

          public String getObj() {
              return obj;
          }
      
          public void setObj(String obj) {
              this.obj = obj;
          }
    • 类中必须有一个公共的无参构造器

      public class Obj {
          // 1、必须私有成员变量,并为每个成员添加set、get方法
          private String obj;
      
          // 2、必须为类提供一个公开的无参构造器
          public Obj() {
          
          }
      
          public Obj(String obj) {
              this.obj = obj;
          }
      
          public String getObj() {
              return obj;
          }
      
          public void setObj(String obj) {
              this.obj = obj;
          }
      }

         PS:在idea中可用使用快捷生成功能,无参构造器选择select none

那么问题来了实体类有啥用?

  • 实体类只负责数据存取,而将数据处理交给其他类来完成,可以实现数据和业务处理分离
    • 例如:实体类(以原神角色为例)

      public class RoleOfGenShin {
      
          private String roleName;
      
          private String element;
          // getter setter方法(略)
      }
    • 业务类
      public class RoleOperator {
          // 封装的规范(建议私有)
          private Role r;
      
          public RoleOperator (Role r) {
              this.r= r;
          }
          
          public void printEle(){
              if(r.getElement == "Anemo") {
                  System.out.praintln(r.getName + "神之眼:风");
              } else if(r.getElement == "Geo") {
                  System.out.praintln(r.getName + "神之眼:岩");
              } else if(r.getElement == "Electro") {
                  System.out.praintln(r.getName + "神之眼:雷");
              } else if(r.getElement == "Dendro") {
                  System.out.praintln(r.getName + "神之眼:草");
              } else if(r.getElement == "Hydro") {
                  System.out.praintln(r.getName + "神之眼:水");
              } else if(r.getElement == "Pyro") {
                  System.out.praintln(r.getName + "神之眼:火");
              } else if(r.getElement == "Cryo") {
                  System.out.praintln(r.getName + "神之眼:冰");
              }
          }    
      }
    • 测试类
      public class Test {
          public static void main(String() args) {
          RoleOfGenShin r1 = new RoleOfGenShin();
      
          r1.setRoleName("钟离");
          r1.setElement("Geo");
          System.out.println(r1.getRoleName());
          System.out.println(r1.getElement());
      
          Service service = new Service();
          service.printEle();
      
      }

 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值