数据封装

Java10-java语法基础(九)――java的封装性

匿名 (未验证) 提交于 2019-12-02 21:53:52
Java10-java语法基础(九)――java的封装性 一、Java的三大特性:封装、多态、继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可信的类或者对象进行信息隐藏。 继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据成员和方法,并能扩展新的能力。 多态:多态性是指不同的对象,收到同一消息可以产生不同的结果。 二、面向对象编程的封装性 封装的实现:通过private关键字实现 1、封装数据成员和成员方法 (1)封装数据成员:一般情况下,没有特殊说明,类的数据成员都是私有的 private 数据类型 数据成员名称; (2)封装成员方法:一般情况下,没有特殊说明,类的成员方法不要私有,否则就没有可以访问类的途径 private 方法返回值 方法名(参数列表){} private 类名(参数){} ―― 封装构造方法 三、访问控制修饰符 1、private:私有的,只能在类的内部访问; 2、protected:保护的,在类的内部、子类中、同一个包中; 2.5、默认的:在类的外部、子类、同一包中; 3、public:公有的,在任何地方都可以访问。 注意:任何一个java文件中,只能有一个公共主类:public class 类名(){},再写其他类不能加public,可以写class Test(){} 四

java后台Form表单提交实体封装BeanUtils.populate(postEidt, properties);

匿名 (未验证) 提交于 2019-12-02 21:53:52
问题描述:前台from表单提交(post、get提交都可以),假如用request.getParameter("");方法获取值,再一个个封装到实体中。如果form表单数据比较少还行,一旦数据比较多,这样做就很麻烦了。这个时候可以使用相对应的api去自动封装。 BeanUtils.populate(bean, properties);方法封装 后台代码: package tourism.web; import java.io.IOException; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import tourism.domain.ContactMe; public class aaa extends HttpServlet { public void doGet(HttpServletRequest request,

Java数据封装成树形结构,多级

匿名 (未验证) 提交于 2019-12-02 21:40:30
话不多说直接上菜 1,实体类 @Data public class SysTagConf implements java.io.Serializable{ private String rowGuid; //唯一标识 private String name; //标签名称 private String opType; //授权类型 0全部 1目录清单 2实施清单 3办理项 private String useLevel; //使用层级 0不限 2省级 3地市级 4区县级 private float sort; //排序 private String parentGuid; //父节点标识 private String bakNote; //备注 private String createUId; //创建人ID private String createUName; //创建人名称 private String createTime; //创建时间 private String updateUId; //更新人ID private String updateUName; //更新人名称 private String updateTime; //更新时间 private String parentName; //父节点名称 private List<SysTagConf>

Redis封装和配置

混江龙づ霸主 提交于 2019-12-02 15:48:14
1.RedisUtils.java 1 import org.springframework.data.redis.core.BoundListOperations; 2 import org.springframework.data.redis.core.RedisTemplate; 3 import org.springframework.stereotype.Component; 4 import org.springframework.util.CollectionUtils; 5 6 import javax.annotation.Resource; 7 import java.util.List; 8 import java.util.Map; 9 import java.util.Set; 10 import java.util.concurrent.TimeUnit; 11 12 /** 13 * redisTemplate封装 14 */ 15 @Component 16 public class RedisUtil { 17 18 @Resource 19 private RedisTemplate<String, Object> redisTemplate; 20 21 public RedisUtil(RedisTemplate<String, Object

HttpUrlConnection使用详解--转

冷暖自知 提交于 2019-12-02 14:40:47
原文转载至:http://blog.csdn.net/fightingXia/article/details/71775516 一,HttpURLconnection的介绍 在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口: 1、标准Java接口(java.NET) —-HttpURLConnection,可以实现简单的基于URL请求、响应功能; 2、Apache接口(org.appache.http)—-HttpClient,使用起来更方面更强大。 但在android API23的SDK中Google将HttpClient移除了。Google建议使用httpURLconnection进行网络访问操作。 HttpURLconnection是基于http协议的,支持get,post,put,delete等各种请求方式,最常用的就是get和post,下面针对这两种请求方式进行讲解。 二,get请求的使用方法 HttpURLconnection是同步的请求,所以必须放在子线程中。使用示例如下: new Thread(new Runnable() { @Override public void run() { try { String url = "https://www.baidu.com/";

3、Struts2的API访问和数据封装

让人想犯罪 __ 提交于 2019-12-02 13:40:31
一、API的访问 在使用Struts2的框架的过程中,发现Struts2和Servlet的API是解耦合的。在实际开发中,经常使用到Servlet的API,比如进行登录,将用户的信息保存到Session中, 有的时候需要向页面输出一些内容,用到response对象。涉及到Servlet的API的访问。 1、 完全解耦合的方式,通过ActionContext类访问[推荐] Struts2框架提供了ActionContext类来访问Servlet API,ActionContext是Action执行的上下文对象。在ActionContext中保存了Action执行所需要的所有对象, 包括parameters,request,session,application等。 // 将key-value键值对放入ActionContext中,模拟Servlet API中的HTTPServletRequest 的setAttribute()方法 void put(String key,Object value) // 通过参数Key来查找当前ActionContext中的值 Object get(String key) // 返回一个Application级的对象 Map<String,Object> getApplication() // 获取当前线程的ActionContext对象

C++对象内存模型---数据封装

半世苍凉 提交于 2019-12-02 08:17:21
“C++是C的超集”,这句话里包含了两个问题: 1. C++兼容C; 2. C++在C之上进行了扩展; 那C++在C之上进行了哪些扩展呢?众所周知,C++内置了众多编程机制、支持众多编程风格:面向过程、基于对象、面向对象、面向、基于模板、泛型、元编程等等。其中,以面向过程、基于对象、面向对象的编程机制最为流行。 大家都知道,面向对象有三个基本特征:数据封装与抽象、继承、多态。下面通过分析C++对象内存模型,来剖析C++面向对象的这三个基本特征。 讲到C++的数据封装和抽象,就不得不提类的成员函数和成员数据: 成员数据 非静态对象、静态对象 成员函数 非静态函数、静态函数、虚函数 下面,直接上测试代码,直观的看看C++的基本对象内存模型。 class A {}; //size: 1 class B { //size: 1 static int mem; static void print(); }; class C { //size: 4 int mem; void print(); }; class D { //size: 8 char mem; static int s_mem; virtual void print1(){}; virtual void print2(){}; }; class E { //size: 4 virtual void print1() = 0;

关于 resultType 与 parameterType   的基本使用的区别

本秂侑毒 提交于 2019-12-01 22:58:56
博主自我理解使用,便于以后的使用与理解:有不对的欢迎指出哈 一起学习一起改正: 以下关于 resultType 与 parameterType 的基本使用的区别 : 1、使用 resultType : 主要针对于从数据库中提取相应的数据出来 2、使用 parameterType : 主要针对于 将信息存入到数据库中 如: insert 增加数据到数据库zhong Update等 以下的案例可以稍稍了解下 没有了哈 此篇文章仅用于简单使用 两者 ,, 无官方认证的哈 ,,纯属博主本人的认知,, 欢迎指教哈 下面将加入你们的见解: JAVA初学者11 : 我觉得博主说“resultType是针对于拿数据的时候用的,paramType是针对于存数据的时候用的”,虽然对,但说法有点不妥,很容易让新人产生误解,比如说我第一眼就以为要从resultType的值里拿数据,要把插入语句的结果保存到paramType中。 我的理解是:resultType是sql语句查询结果集的封装类型,也就是说把sql查询的结果封装在bean里返回回去,是存数据用的。 paramType是从传过来的Bean中取数据放进例如insert语句的values中当实参用,是取数据用的。 来源: CSDN 作者: K_&&_Z 链接: https://blog.csdn.net/qq_38254897/article

itext根据模板生成PDF,支持多条数据的生成

萝らか妹 提交于 2019-12-01 22:02:43
根据客户需求,现需要根据提供的PDF模板,封装数据生成,PDF,里面涉及到了多条数据的参数的封装,废话不多说,直接上步骤 1.因为是maven项目,需要引入itext的包已经中文注解包,如下图 2.因为需要模板,自己可以通过Adobe制作模板,制作需要的模板,这里就不进行模板的制作, 3.接下来是PDF的封装代码 @RestController public class ToPdfController { private final static Logger logger = (Logger) LoggerFactory.getLogger(ToPdfController.class); @Value("${spring.redis.enable}") private String enable; @Value("${client-process.suffixUrl}") private String suffixUrl; @Value("${****Header.Prefix}") private String *****HeaderPrefix; @Value("${****Header.Pdfurl}") private String Pdfurl; @Value("${****Header.pdfCreatFile}") private String

视图类、二次封装、视图家族、GenericAPIView视图基类、mixins视图6大工具类、generic中的工具视图、路由组件

让人想犯罪 __ 提交于 2019-12-01 19:55:26
视图类传递参数给序列化类 # 1)在视图类中实例化序列化对象时,可以设置context内容 # 2)在序列化类中的局部钩子、全局钩子、create、update方法中,都可以用self.context访问视图类传递过来的内容 # 需求: # 1) 在视图类中,可以通过request得到登陆用户request.user # 2) 在序列化类中,要完成数据库数据的校验与入库操作,可能会需要知道当前的登陆用户,但序列化类无法访问request # 3) 在视图类中实例化序列化对象时,将request对象传递进去 视图层:views.py class Book(APIView): def post(self, request, *args, **kwargs): book_ser = serializers.BookModelSerializer(data=request_data,context={'request':request}) book_ser.is_valid(raise_exception=True) book_result = book_ser.save() return Response({ 'status': 0, 'msg': 'ok', 'results': serializers.BookModelSerializer(book_result).data })