java修改参数
① java中重写的方法参数可以重新指定
我想你还没有分清Java中重载与重写的区别:
首先我们来讲讲:重载(Overloading)
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
然后我们再来谈谈 重写(Overriding)
(1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
方法重写又称方法覆盖。
(2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
(3)子类函数的访问修饰权限不能少于父类的。
所以Java中重写的方法参数是不能重新指定的,那样就是变成重载了。
② Java中如何改变参数的值(实现按址传递)
你始终都没有改变a,b所指向的地址 当然值就不变了
③ 请问java中创建对象的参数怎么设成让用户输入的数值去修改
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
int c = sc.nextInt();
把c变量作为参数传到对回象中答去
④ 修改string数组内的参数 java
废话不说了,看代码吧:
public static void main(String[] args) {
回String[] strArr = {"ABCD","ACBD","ACCDDD","BDCA"};
for(int i=0; i<strArr.length;i++){
if(strArr[i].startsWith("AC")){
strArr[i] = strArr[i].substring(2);
}
}
//输出结果答
for(int i=0;i<strArr.length;i++){
System.out.println(strArr[i]);
}
}
⑤ java修改请求参数的值
java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap。网上查了一些资料,解决方案是使用Wrapper,重写HttpServletRequestWrapper,如下:
Java代码
package com.gdcn.bpaf.security.yale;
import java.util.Enumeration;
import java.util.Map;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
@SuppressWarnings("unchecked")
public class ParameterRequestWrapper extends HttpServletRequestWrapper {
private Map params;
public ParameterRequestWrapper(HttpServletRequest request, Map newParams) {
super(request);
this.params = newParams;
}
public Map getParameterMap() {
return params;
}
public Enumeration getParameterNames() {
Vector l = new Vector(params.keySet());
return l.elements();
⑥ java中的main方法可以改变参数或传参吗如何实现
不能。参数只能启动的时候传入。
⑦ java中有没有这么一种方法,可以动态的改变参数类型及其中的的代码。
你可以把这些类,都继承一个类,然后把这些相同的地方写在继承的类里面
⑧ Java 如何修改args[]的参数
在concls命令行中输入参数就可以了,如果不行可以在cmd命令行中输入参数在cmd进行调用
⑨ Java中如何改变参数的值(实现按址传递)
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。你的题目本身就有歧义,无法直接针对题目作答(因为java不存在类似c或c++那样的传址)。我从头讲起:
(一)基本数据类型:传值,方法不会改变实参的值。
(二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。例如
public class TestFun4 {
public static void testStringBuffer(StringBuffer sb){
sb.append("java");//改变了实参的内容
}
public static void main(String[] args) {
StringBuffer sb= new StringBuffer("my ");
new TestFun4().testStringBuffer(sb);
System.out.println("sb="+sb.toString());//内容变化了
}
}
⑩ Java Web 怎样修改request的参数值
用过滤器就可以实现,现在web.xml文件中配置好过滤器,自定义个一个过滤器,实现Filter接口,在doFilter中实现自己的过滤逻辑,我这里有个设置所有请求中的字符编码,你可以参考一下:
Java code
web.xml配置如下:
<filter>
<!--过滤器名称,随便定义-->
<filter-name>UrlFilter</filter-name>
<!--filter-class指向自定义的过滤器,完整的包名+类名-->
<filter-class>
com.wgh.common.SetCharacterEncodingFilter
</filter-class>
<!--过滤器中的默认参数,默认的字符编码是GBK-->
<init-param>
<param-name>defaultEncoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<!--filter和filter-mapping是成对出现的-->
<filter-mapping>
<!--过滤器名称,一定要和上面的一样,-->
<filter-name>UrlFilter</filter-name>
<!--表示拦截所有的请求-->
<url-pattern>/*</url-pattern>
</filter-mapping>
SetCharacterEncodingFilter过滤器类:
packagecom.wgh.common;
importjava.io.IOException;
importjava.text.SimpleDateFormat;
importjava.util.Arrays;
importjava.util.Enumeration;
importjava.util.List;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{privatestaticStringlog="ksURL_log";
privatestaticStringweb_xml_url;
=null;
=null;
protectedbooleanignore=true;
publicvoiddestroy(){
this.defaultEncoding=null;
this.filterConfig=null;
this.web_xml_url=null;
}
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)throwsIOException,ServletException{
if(ignore||(request.getCharacterEncoding()==null)){
StringdefaultEncoding=selectEncoding(request);
HttpServletRequestreq=(HttpServletRequest)request;
if(defaultEncoding!=null){
Stringuri=req.getRequestURI();
Stringurl_suffix=uri.substring(uri.lastIndexOf("/")+1);
request.setCharacterEncoding(defaultEncoding);
}
}
}
publicvoidinit(FilterConfigfilterConfig)throwsServletException{
this.filterConfig=filterConfig;
this.defaultEncoding=filterConfig.getInitParameter("defaultEncoding");
Stringvalue=filterConfig.getInitParameter("ignore");
if(value==null)
this.ignore=true;
elseif(value.equalsIgnoreCase("true"))
this.ignore=true;
elseif(value.equalsIgnoreCase("yes"))
this.ignore=true;
else
this.ignore=false;
}
protectedStringselectEncoding(ServletRequestrequest){
return(this.defaultEncoding);
}
}