有入参的static方法,可以正常使用

static的作用是申明:这是类的静态方法,什么时候都可以调用,可以传入入参,也可以不传。

上代码:

1.带静态方法的类:

public class MakeParameters {

    public static InsuranceSearchRQ makeBaseRqParms(InsuranceSearchRQ rq){
ChannelInfo channel = new ChannelInfo();
channel.setFirstChannelNo(BaseConst.FIRST_CHANNEL_NO);
channel.setWebSite(BaseConst.WEB_SITE); rq.setChannelInfo(channel);
rq.setLanguage(BaseConst.LANGUAG);
rq.setTimeStamp(BaseConst.TIMESTAMP);
rq.setTransactionId(BaseConst.TRANSACTION_ID);
rq.setVersion(BaseConst.VERSION); return rq;
} }

2.测试类:

  

package com.doit.zz;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.basemake.zz.MakeParameters;
import com.travelsky.logic.insurance.dto.InsuranceSearchRQ;
import com.travelsky.logic.insurance.dto.InsuranceSearchRS;
import com.travelsky.logic.insurance.dto.MaintainQueryParam;
import com.travelsky.logic.shopping.service.IInsuranceSearchService;
import com.utils.zz.JsonMapper; public class InsureTest {
ApplicationContext ctx=new ClassPathXmlApplicationContext("helloservice.xml"); @Test
public void testInsure() throws Exception{
InsuranceSearchRQ rq=new InsuranceSearchRQ();
MaintainQueryParam maintainQueryParam=new MaintainQueryParam();
maintainQueryParam.setProductCode("7000000");
rq.setMaintainQueryParam(maintainQueryParam);
MakeParameters.makeBaseRqParms(rq);
System.out.println(JsonMapper.toNonNullJson(rq));// maintainQueryParam.setProductCode("12345");
InsuranceSearchRQ rq2=new InsuranceSearchRQ();
rq2.setMaintainQueryParam(maintainQueryParam);
MakeParameters.makeBaseRqParms(rq2);
System.out.println(JsonMapper.toNonNullJson(rq2));// InsuranceSearchRS rs=new InsuranceSearchRS();
IInsuranceSearchService insService=(IInsuranceSearchService)ctx.getBean("iInsuranceSearchService");
rs=insService.getInsuranceSearchRS(rq); String rsJson = JsonMapper.toNonNullJson(rs);
System.out.println(rsJson);
} }

3.结果

{"channelInfo":{"firstChannelNo":"71","webSite":"zh_CN"},"timeStamp":"20150108161025","version":"0.01","transactionId":"20150108161025","language":"zh","insTravelerInfos":[],"maintainQueryParam":{"productCode":"7000000"}}
{"channelInfo":{"firstChannelNo":"71","webSite":"zh_CN"},"timeStamp":"20150108161025","version":"0.01","transactionId":"20150108161025","language":"zh","insTravelerInfos":[],"maintainQueryParam":{"productCode":"12345"}}

在1处和2出分别打印调用静态方法结果

可以看到:两次调用静态方法:入参不一样,结果也是不一样的。

java static 方法使用笔记的更多相关文章

  1. JAVA Static方法与单例模式的理解

    近期用sonar測评代码质量的时候,发现一个问题,project中一些util类,曾经写的static方法都提示最好用单例的方式进行改正. 为此,我细致想了想,发现还是非常有道理的.这里谈谈我个人对s ...

  2. java static方法不能被重写@Override

    重写方法的目的是为了多态,或者说:重写是实现多态的前提,即重写是发生在继承中且是针对非static方法的. 语法上子类允许出现和父类只有方法体不一样其他都一模一样的static方法,但是在父类引用指向 ...

  3. java——多线程——单例模式的static方法和非static方法是否是线程安全的?

    单例模式的static方法和非static方法是否是线程安全的? 答案是:单例模式的static方法和非static方法是否是线程安全的,与单例模式无关.也就说,如果static方法或者非static ...

  4. java static 变量,和方法从属于类

    第36集 java static 变量,和方法从属于类 可以用类来直接调用static属性和方法 static方法不能调用非静态的属性和方法,反之可以 new产生的对象,不包括static 属性和方法

  5. java中static特殊性和final(static成员直接被访问,this不能用在static方法中,static不可访问非static)

    java的static关键字 java中,static修饰的成员变量和成员方法叫静态变量和静态方法,不依赖类特定的实例,被类的所有实例共享. 静态变量或类变量 和 实例变量,区别是: 静态变量在内存中 ...

  6. 在java中为什么要把main方法定义为一个static方法?

    我们知道,在C/C++当中,这个main方法并不是属于某一个类的,它是一个全局的方法,所以当我们执行的时候,c++编译器很容易的就能找到这个main方法,然而当我们执行一个java程序的时候,因为ja ...

  7. JAVA中的static方法

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...

  8. Java学习笔记二十二:Java的方法重写

    Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...

  9. java 子类不能继承父类的static方法

    先来看一段代码 /** * Created by bjchengpeng on 2018/7/19. */ /**运行结果 * woof * woofaa * * woof * Basenjiaa * ...

随机推荐

  1. Hadoop数据传输工具:Sqoop

    Apache Sqoop(SQL-to-Hadoop) 项目旨在协助 RDBMS 与 Hadoop 之间进行高效的大数据交流.用户可以在 Sqoop 的帮助下,轻松地把关系型数据库的数据导入到 Had ...

  2. 深入理解HashMap

    转自:http://annegu.iteye.com/blog/539465 Hashmap是一种非常常用的.应用广泛的数据类型,最近研究到相关的内容,就正好复习一下.网上关于hashmap的文章很多 ...

  3. 【mysql】mysql分表和表分区详解

    为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...

  4. 开源项目 Modbus C#实现

    刚刚上线,内容不断完善... Modbus协议中文版下载 http://files.cnblogs.com/badnewfish/Modbus%E5%8D%8F%E8%AE%AE%E4%B8%AD%E ...

  5. LintCode "Coins in a Line III" !!

    https://codesolutiony.wordpress.com/2015/05/24/lintcode-coins-in-a-line-iii/ A very juicy one! Deser ...

  6. 水晶报表连接Oracle做数据报表笔记

    首先,新建一个水晶报表的文件,这个时候要给这个报表文件绑定一个oracle数据源, 选择右侧菜单的这个东西,选择“数据库专家”,打开之后是这么一个界面: 选择建立新连接: 这个地方最关键,也是我为什么 ...

  7. NodeJS的异步编程风格

    NodeJS的异步编程风格 http://www.infoq.com/cn/news/2011/09/nodejs-async-code NodeJS运行环境因其支持Javascript语言和异步编程 ...

  8. requestscope.contextpath和<%=request.getContextPath()%>有何区别?(待解答)

    问题1:requestscope.contextpath和<%=request.getContextPath()%>有何区别? 问题2:${requestscope.contextpath ...

  9. postgresql plpythonu例子

    以下代码仅作为参考之用 select md5, crc32, record->'UserModerAnalysis'->'base_info'->'file_malware' as ...

  10. ROM, RAM, Flash Memory

    ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devic ...