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) ...
随机推荐
- Linux日志 查找关键字及其前后的信息
文章<五分钟扫盲:25个工作中常用的Linux命令>介绍了常用的Linux命令,属于理论知识,这里知行合一,介绍如何从Linux日志中通过关键字过滤出我们需要的信息. 这里以查看名 ...
- Servlet中过滤器、监听器和拦截器的区别
基本概念 过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西.定义这些要求的工具,就是过滤器.就是对请求起到过滤的作用:在监听器之后servlet之前对请求进行过滤. ...
- oracle的递归写法:地区层级
前言 mysql的递归看我另一篇博文:https://www.cnblogs.com/daen/p/17252369.html 表结构 数据 查询子节点 示例 SELECT cx1.* FROM PH ...
- 我们不可能永远都在救火 ——Scrum中技术债务“偿还”指南
技术债务是指开发人员为了加速软件开发,在应该采用最佳方案时进行了妥协,改用了短期内能加速软件开发的方案,以至于未来给自己带来额外的开发负担. 软件工程师 Ward Cunningham首次将技术的复杂 ...
- Django2.2版本迁移数据库报错问题解决方案
在迁移的时候系统会抛出异常,提示我们安装mysqlclient. 这时候我们可以使用pymysql进行伪装,在项目的__init__.py中添加如下代码即可.(如果是2.2以前的版本) import ...
- [原创]《C#高级GDI+实战:从零开发一个流程图》第03章:画一个线,连接两个矩形!
一.前言 上一节我们实现了多个不同颜色的可拖动的矩形,那么这一节就来看一下如何将这些矩形连起来吧. 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesli ...
- 玩转集群配置中心,一文带你了解 Taier 控制台
原文地址:玩转集群配置中心,一文带你了解Taier控制台丨DTMO 03期直播回顾(内含视频+课件) 课程视频回顾:Taier基础教程(二):Taier1.1新功能详解&控制台介绍_哔哩哔 ...
- 首个离散元仿真软件EDEM好学吗?有什么学习技巧?
EDEM是一款首个离散元仿真软件,它被广泛应用于工程领域,特别是在颗粒材料的模拟和分析方面.对于初学者来说,EDEM可能会有一定的学习曲线,但是只要掌握了一些学习技巧,就能够很快上手并熟练运用这款软件 ...
- 2025 智能制造必看!国内五大 MES 系统排名深度解析
在 "中国制造 2025" 战略持续推进的背景下,制造企业数字化转型进入深水区.作为连接计划层与控制层的核心枢纽,MES(制造执行系统)已成为实现智能工厂的关键技术.2024 年国 ...
- ZKW 非递归线段树详解
在算法竞赛和高性能计算场景中,线段树(Segment Tree) 是一个必修的数据结构.它可以在 $O(\log n)$ 时间内高效地完成区间查询与修改,比如:区间求和/最大/最小值查询配合区间加法/ ...