构造方法的作用

构造方法的作用之一就是实例化对象,之前对此一直都不是很了解,为什么要实例化对象呢?我们知道对象具有一定的属性,例如姓名,年龄,身高等,我们在定义类的时候就得要定义这些属性,但是实例化的意思是什么呢?就是通过这些属性,把这些人实际的表达出来,通过属性或方法来实例一个人。

[java] view plain copy
  1. public Person{//定义了一个人的属性,具备一些特征和功能
  2. String name;
  3. int age;
  4. float  height;
  5. void talk(){};
  6. //我们可以将定义的属性和方法组合起来,就可以组合成一个人了
  7. Person(String name,int age,float height){
  8. This.name=name;
  9. This.age=age;
  10. This.height=height;
  11. }
  12. }
  13. //组合完成之后,便可以定义不同的人了
  14. Public class Gouzao{
  15. Public static void main(String[] args){
  16. Person    ren1=new Person(“张三”,20,180);
  17. ren1.talk();
  18. Person    ren2=new Person(“李四”,25,170);
  19. ren2.talk();
  20. Person    ren3=new Person(“王二”,30,185);
  21. ren3.talk();
  22. <span style="white-space:pre">    </span>}
  23. }

如果没有构造方法,我们得要这样写: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构造方法的作用相关推荐

  1. Java构造方法的作用是什么? 需要理解的重点有哪些?

    Java构造方法的作用和重点,需要理解的重点有哪些? 构造方法的作用: 即给重要属性赋初始值 . 构造方法本身并不神秘,通常它只是去完成一些初始化的工作.构造方法本身并不能去创建出一个对象,真正创建对 ...

  2. Java高级面试题!java构造方法的作用和特点

    1. Redis面试专题 绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.这里以面试题的形式 ...

  3. Java 构造方法及作用

    构造函数是一种特殊的方法,普通方法是用来描述某个动作的,构造方法是用来创建对象的. 1.作用:创建对象. 2.创建规则:方法名必须与类名一致,不需要定义返回值类型. 构造函数可分为有参构造和无参构造, ...

  4. java set的作用,Java的自学之路-构造方法 的作用以及与set方法的区别

    在java中,我们创建一个类时需要对类中的成员变量进行私有化,private..这样可以提高代码的安全性,那么在new 一个对象时,我们就不能对类中的成员变量直接赋值,此时可以在类中写一个 方法,这个 ...

  5. java构造方法是什么_java中什么叫构造方法,作用是什么?

    在java学习中大家经常遇到一个词叫做构造方法,对于新学习的同学经常不知道这是什么意思,当然学习过的同学就不会再问了,今天我就来跟大家说一说Java中的构造方法,首先构造方法的定义为:一个在创建对象时 ...

  6. 39.在Java中定义一个不做事且没有参数的构造方法的作用?

    1 在Java中定义一个不做事且没有参数的构造方法的作用 Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会 调用父类中"没有参数的构造方法&quo ...

  7. JAVA构造方法作用

    JAVA构造方法作用 1.使用new+构造方法,创建一个新的对象. 2.构造方法是定义在Java类中的一个用来初始化对象的方法. 3.构造方法与类名相同时是没有返回值的. 4.当没有指定构造方法时,系 ...

  8. java 构造方法的理解及作用

    构造方法是什么? 通俗易懂的说,构造方法就是项目中的实体类里面有参构造和无参构造 //有参构造public Billing(String msisdn, String serviceid, Strin ...

  9. 【Java学习笔记之一】java关键字及作用

    Java关键字及其作用 一. 总览: 1 访问控制 2 private protected public 3 4 类,方法和变量修饰符 5 abstract class extends final i ...

最新文章

  1. 如何快速搭建智能人脸识别系统
  2. BZOJ3029守卫者的挑战(概率dp)
  3. 数据库基本概念 - 表、字段、sql语句
  4. scala中的隐式转换、隐式参数和隐式类
  5. String... 参数定义中有三个点的意思
  6. good-Windows下搭建PHP开发环境(Apache+PHP+MySQL)
  7. linux 怎么管理文件夹,Linux 是如何管理目录文件?
  8. 数据挖掘十大经典算法(转载)
  9. VB怎样屏蔽 Alt+F4键
  10. 初级算法——删除排序数组中的重复项
  11. 自定义音乐播放器的歌词显示view
  12. php基础案例例子,PHP基础案例教程
  13. Axure RP 8 Pro 破解版软件安装包
  14. OPPO芯片研发计划投入300~500亿人民币,研发人员已达千人: 还要继续努力
  15. (原创推荐文章)kerberos服务器端与客户端
  16. 常见乱码产生原因以及锟斤拷的产生过程
  17. 《Java核心技术》学习笔记——第8章 泛型程序设计
  18. 微软工业计算机主机怎么样,微软Surface Pro 4到底值不值得买?
  19. 自兴动脑人工智能课程
  20. Halcon与C#混合编程--打开笔记本摄像头实时采集

热门文章

  1. win8计算机硬盘无响应,win8.1系统读不出移动硬盘的原因和解决方法
  2. 为什么Hadoop是分布式计算的未来
  3. HTML5 CSS3 神秘的暗红色漩涡特效
  4. c语言国考试是什么软件下载,计算机等级考试C语言版2018最新
  5. Java httpClient中实现自定义DNS服务器地址配置
  6. selenium 您的连接不是私密连接 解决办法
  7. 通过蛋白结构分析、同源建模、分子对接、虚拟筛选、构效关系分析、药效团靶点抑制剂筛选预测、全新药物设计,先导化合物发现等方法对靶点药物进行全方位设计及分析
  8. 输入输出缓存区及其刷新缓冲条件(超详细)
  9. 各家银行跨行转账手续费一览表
  10. 51单片机--数字电子时钟(单片机基础应用)