Java学习:工具类、构造器、实体类使用场景
- 封装的设计要求:合理隐藏、合理暴露
- 合理隐藏:创建成员变量时,使用private修饰
private int id; // 电影编号
- 合理暴露:创建成员方法时,使用public修饰的get方法和set方法合理暴露
public void setId(int id) {
this.id = id;
}
- 实体类
- 要求1:成员变量全部私有,并提供public修饰的getter/setter方法
- 要求2:类中需要一个无参构造器,有参数构造器可选
- 实体类的对象只负责数据存取,而对数据的业务处理交给其他类的对象完成,以实现数据和数据业务处理相分离。
// 电影信息.class
public class MoviesInformation {
private int id; // 电影编号
private String name; // 电影名称
// 1. 初始化:构造器在对象创建时进行必要的初始化
// (1)无参构造函数:必须包含
public MoviesInformation() {}
// (2)有参构造函数:需要初始化才使用
public MoviesInformation(int id, String name) {
this.id = id;
this.name = name;
}
// 2. getter/setter方法用于在对象创建后修改属性。
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
- 工具类:没有创建对象的需求,建议将工具类的构造器进行私有,用于封装通用功能
// 工具类.class
public class MoviesOperator {
private MoviesInformation[] movies; // 电影信息
public MoviesOperator(MoviesInformation[] movies) {
this.movies = movies;
}
public void searchMovieById(int id) {
System.out.println("=====当前电影信息=====");
for (int i = 0; i < movies.length; i++) {
if (movies[i].getId() == id) {
System.out.println("名称:" + movies[i].getName() + "\n" +
"价格:" + movies[i].getPrice());
}
}
}
}
Java学习:工具类、构造器、实体类使用场景的更多相关文章
- java学习笔记07--日期操作类
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
- 14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/code-first-from-existing-database.aspx EF 6 ...
- .net 根据匿名类生成实体类,根据datatable生成实体类,根据sql生成实体类
在开发中可能会遇到这几种情况 1.EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类 2.通过datatable反射实体需要先建一个类 ,头痛 3.通过SQL语句返回的实体也需要 ...
- Hibernate框架学习之注解映射实体类
前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识.然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了基本的映射 ...
- java反射获取和设置实体类的属性值 递归所有父类
最近做一个通用数据操作接口,需要动态获取和设置实体类的属性值,为了通用实体做了多重继承,开始网上找到代码都不支持父类操作,只能自己搞一个工具类了,此工具类可以设置和获取所有父类属性,代码贴下面拿走不谢 ...
- JAVA读取EXCEL_自动生成实体类
代码实现PropertyAnno.java import java.lang.annotation.ElementType; import java.lang.annotation.Retention ...
- java中的xml与实体类之间的映射
实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...
- java学习笔记之日期日历类
java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...
- Java学习(API及Object类、String类、StringBuffer字符串缓冲区)
一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就 ...
- java中的几种实体类对象(PO,VO,DAO,BO,POJO)
一.PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象.使用Hibernate来生成PO是不错的选择. 二.VO :(value object) ...
随机推荐
- 一个基于 C# 编写的事件驱动、具备专业水准的算法交易平台(量化交易引擎)
前言 今天大姚给大家分享一个基于 C# 编写的事件驱动.采用模块化设计.具备专业水准的算法交易平台(量化交易引擎):Lean. 项目介绍 Lean 是由 QuantConnect 提供的一个基于 C# ...
- MQTT协议与ODOO的结合使用
一.MQTT简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的 ...
- [python] python抽象基类使用总结
在Python中,抽象基类是一类特殊的类,它不能被实例化,主要用于作为基类被其他子类继承.抽象基类的核心作用是为一组相关的子类提供统一的蓝图或接口规范,明确规定子类必须实现的方法,从而增强代码的规范性 ...
- Apache Hudi 在袋鼠云数据湖平台的设计与实践
在大数据处理中,实时数据分析是一个重要的需求.随着数据量的不断增长,对于实时分析的挑战也在不断加大,传统的批处理方式已经不能满足实时数据处理的需求,需要一种更加高效的技术来解决这个问题.Apache ...
- 你的终端AI副驾
Google 重磅推出了 Gemini CLI,这是一款基于 Gemini 大模型驱动的命令行工具. 它把强大的生成式 AI 能力无缝整合进终端,能通过自然语言对话帮你写代码.梳理项目.自动化任务等, ...
- Java源码分析系列笔记-15.CompletableFuture
目录 1. 是什么 2. Future VS CompletableFutre 3. 使用 3.1. 运行一个不返回结果的任务 3.2. 运行一个返回结果的任务 3.3. 线程池 3.4. 手动完成任 ...
- 你应该懂的AI大模型(十)之 LLamaFactory 之 LoRA微调Llama3
本文标题中说的微调 Llama3指的是局部微调,使用 LLamaFactory 局部微调 LIama3. 一.什么是LLamaFactory LLaMA-Factory 是一个开源的大型语言模型微调框 ...
- setAttr和getPara() 用法注意~
在一个新增的add.html 需要把一个参数传给save后台方法.这个参数是从别的页面获得的,需要setAttr才能在add.html看到值. 如果想再从后台拿到该值必须,与数据库的对应字段名称一样才 ...
- 使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
前言 在企业应用开发中,系统权限管理和工作流是比较常见的功能.虽说开发起来难度不大,但从零开始开发一个功能完备的权限管理和工作流系统,往往需要投入大量的时间和精力.今天大姚带领大家来使用 OpenAu ...
- ZKW 非递归线段树详解
在算法竞赛和高性能计算场景中,线段树(Segment Tree) 是一个必修的数据结构.它可以在 $O(\log n)$ 时间内高效地完成区间查询与修改,比如:区间求和/最大/最小值查询配合区间加法/ ...