Java构造方法的作用
构造方法的作用
构造方法的作用之一就是实例化对象,之前对此一直都不是很了解,为什么要实例化对象呢?我们知道对象具有一定的属性,例如姓名,年龄,身高等,我们在定义类的时候就得要定义这些属性,但是实例化的意思是什么呢?就是通过这些属性,把这些人实际的表达出来,通过属性或方法来实例一个人。
- public Person{//定义了一个人的属性,具备一些特征和功能
- String name;
- int age;
- float height;
- void talk(){};
- //我们可以将定义的属性和方法组合起来,就可以组合成一个人了
- Person(String name,int age,float height){
- This.name=name;
- This.age=age;
- This.height=height;
- }
- }
- //组合完成之后,便可以定义不同的人了
- Public class Gouzao{
- Public static void main(String[] args){
- Person ren1=new Person(“张三”,20,180);
- ren1.talk();
- Person ren2=new Person(“李四”,25,170);
- ren2.talk();
- Person ren3=new Person(“王二”,30,185);
- ren3.talk();
- <span style="white-space:pre"> </span>}
- }
如果没有构造方法,我们得要这样写:Person ren1=new Person();
Ren1.name=(“张三”); ren1.age=20; ren1.height=180; 多麻烦……所以用构造方法,相当于建立了一个代码块,直接填充进去就可以……
----------------------------------------------------------分割线-------------------------
封装的高复用泛型类,运用了构造方法,以及创建成功的返回方法,和错误的放回方法
package com.mmall.common;import com.sun.org.apache.regexp.internal.RE;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonSerialize;import java.io.Serializable;/*** Created by qxl on* 2018/4/6** 1. 高封装类* 2. 序列化的结果返回给前端* 3.有的时候需要返回data (对象),有的时候不需要,* 4.不要null* 5. 如果只需要status,可以直接返回status。没有msg 没有data* /**** 在我们使用泛型类的时候,虽然传入了不通的泛型实参,但并没有真正意义上生成不通的类型* 传入不通泛型实参的泛型类在内存上只有一个,即还是原来的最基本的类型,本实例中为ox,* 当然,在逻辑上我们可以理解成多个不通的泛型类型** 究其原因,在余java泛型的这一概念提出的母的,导致其只是作用与代码编译阶段,在编译过程中,* 对于检验法宁结果后,会将法宁的相关信息擦出,也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进入到运行时阶段** 对此总结成一句话: 泛型类型在逻辑上看以看成是多个不通的类型,实际上都是相同的基本类型。**/@JsonSerialize( include = JsonSerialize.Inclusion.NON_NULL)
// 不要null 报纸序列化json时候,如果是null的对象,key也会消息
// 返回json中去除null字段
public class ServerResponse<T> implements Serializable {//status 跟ajax返回的一致private int status;//infoprivate String msg;//对象private T data;//构造方法private ServerResponse(int status){this.status =status;}private ServerResponse(int status,T data){this.status =status;this.data = data;}private ServerResponse(int status,String msg){this.status =status;this.msg = msg;}private ServerResponse(String msg){this.msg = msg;}private ServerResponse(int status,String msg,T data){this.status =status;this.msg = msg;this.data = data;}/*** 疑点 :T任意对象 用String到底是哪一个*//* public static void main(String[] args) {ServerResponse sr1 =new ServerResponse(1,new Object());ServerResponse hello = new ServerResponse(1, "hello");System.out.println("console");}*//*** 是否成功 0成功 1失败* @return*//*** boolean 显示在json中* 1、加注解 @JsonIgnore 就不会显示在json里面* @return*/@JsonIgnore//不在json序列化结果之中public boolean isSuccess(){//是0状态成功 1状态是失败return this.status == ResponseCode.SUCCESS.getCode();}//这三个就在public int getStatus(){return status;}public String getMsg(){return msg;}public T getData(){return data;}/*** 創建成功 返回一個status状态* @param <T>* @return*/public static <T> ServerResponse<T> createBySuccess (){return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());}/*** 成功返回 和 消息* @param msg* @param <T>* @return*/public static <T> ServerResponse<T> createBySuccessMessage(String msg){return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg);}/*** 成功状态 和 对象* @param data* @param <T>* @return*/public static <T> ServerResponse<T> createBySuccessData(T data){return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data);}/*** 成功状态 和 消息 对象* @param msg* @param data* @param <T>* @return*/public static <T> ServerResponse<T> createBySuccessData(String msg,T data){return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg,data);}/*** 错误* @param <T>* @return*/public static <T> ServerResponse<T> createByError(){return new ServerResponse<T>(ResponseCode.ERROR.getCode());}/*** 错误的状态 和 消息* @param errormsg* @param <T>* @return* 类上的泛型是对象的静态的只能自己定义泛型*/public static <T> ServerResponse<T> createByErrorMessage(String errormsg){//返回值是ServerResponse 实例化的每個返回值都是構造方法。 所以可以return new ServerResponse<T>(ResponseCode.ERROR.getCode(),errormsg);}/**** 参数错误 需要登录,code做成变量,* 参数错误的话,需要暴露出来* @param errormsg* @param <T>* @return*/public static <T> ServerResponse<T> createByErrorCodeMessage(int errorcode,String errormsg){return new ServerResponse<T>(errorcode,errormsg);}}
Java构造方法的作用相关推荐
- Java构造方法的作用是什么? 需要理解的重点有哪些?
Java构造方法的作用和重点,需要理解的重点有哪些? 构造方法的作用: 即给重要属性赋初始值 . 构造方法本身并不神秘,通常它只是去完成一些初始化的工作.构造方法本身并不能去创建出一个对象,真正创建对 ...
- Java高级面试题!java构造方法的作用和特点
1. Redis面试专题 绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.这里以面试题的形式 ...
- Java 构造方法及作用
构造函数是一种特殊的方法,普通方法是用来描述某个动作的,构造方法是用来创建对象的. 1.作用:创建对象. 2.创建规则:方法名必须与类名一致,不需要定义返回值类型. 构造函数可分为有参构造和无参构造, ...
- java set的作用,Java的自学之路-构造方法 的作用以及与set方法的区别
在java中,我们创建一个类时需要对类中的成员变量进行私有化,private..这样可以提高代码的安全性,那么在new 一个对象时,我们就不能对类中的成员变量直接赋值,此时可以在类中写一个 方法,这个 ...
- java构造方法是什么_java中什么叫构造方法,作用是什么?
在java学习中大家经常遇到一个词叫做构造方法,对于新学习的同学经常不知道这是什么意思,当然学习过的同学就不会再问了,今天我就来跟大家说一说Java中的构造方法,首先构造方法的定义为:一个在创建对象时 ...
- 39.在Java中定义一个不做事且没有参数的构造方法的作用?
1 在Java中定义一个不做事且没有参数的构造方法的作用 Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会 调用父类中"没有参数的构造方法&quo ...
- JAVA构造方法作用
JAVA构造方法作用 1.使用new+构造方法,创建一个新的对象. 2.构造方法是定义在Java类中的一个用来初始化对象的方法. 3.构造方法与类名相同时是没有返回值的. 4.当没有指定构造方法时,系 ...
- java 构造方法的理解及作用
构造方法是什么? 通俗易懂的说,构造方法就是项目中的实体类里面有参构造和无参构造 //有参构造public Billing(String msisdn, String serviceid, Strin ...
- 【Java学习笔记之一】java关键字及作用
Java关键字及其作用 一. 总览: 1 访问控制 2 private protected public 3 4 类,方法和变量修饰符 5 abstract class extends final i ...
最新文章
- 如何快速搭建智能人脸识别系统
- BZOJ3029守卫者的挑战(概率dp)
- 数据库基本概念 - 表、字段、sql语句
- scala中的隐式转换、隐式参数和隐式类
- String... 参数定义中有三个点的意思
- good-Windows下搭建PHP开发环境(Apache+PHP+MySQL)
- linux 怎么管理文件夹,Linux 是如何管理目录文件?
- 数据挖掘十大经典算法(转载)
- VB怎样屏蔽 Alt+F4键
- 初级算法——删除排序数组中的重复项
- 自定义音乐播放器的歌词显示view
- php基础案例例子,PHP基础案例教程
- Axure RP 8 Pro 破解版软件安装包
- OPPO芯片研发计划投入300~500亿人民币,研发人员已达千人: 还要继续努力
- (原创推荐文章)kerberos服务器端与客户端
- 常见乱码产生原因以及锟斤拷的产生过程
- 《Java核心技术》学习笔记——第8章 泛型程序设计
- 微软工业计算机主机怎么样,微软Surface Pro 4到底值不值得买?
- 自兴动脑人工智能课程
- Halcon与C#混合编程--打开笔记本摄像头实时采集
热门文章
- win8计算机硬盘无响应,win8.1系统读不出移动硬盘的原因和解决方法
- 为什么Hadoop是分布式计算的未来
- HTML5 CSS3 神秘的暗红色漩涡特效
- c语言国考试是什么软件下载,计算机等级考试C语言版2018最新
- Java httpClient中实现自定义DNS服务器地址配置
- selenium 您的连接不是私密连接 解决办法
- 通过蛋白结构分析、同源建模、分子对接、虚拟筛选、构效关系分析、药效团靶点抑制剂筛选预测、全新药物设计,先导化合物发现等方法对靶点药物进行全方位设计及分析
- 输入输出缓存区及其刷新缓冲条件(超详细)
- 各家银行跨行转账手续费一览表
- 51单片机--数字电子时钟(单片机基础应用)