导航:首页 > 方法技巧 > java公共方法参数如何抽取

java公共方法参数如何抽取

发布时间:2023-01-04 13:14:03

❶ Java如何获取方法的参数名称

package test;

import java.lang.reflect.Method;

public class TTT {
public static void main(String[] args) {
Class c = Test.class;
Method[] methods =c.getDeclaredMethods();
for (Method method : methods) {
System.out.print("方法的返回值"+method.getReturnType().getName());
System.out.print(" 方法名:"+method.getName()+"(");
Class[] paraTypes = method.getParameterTypes();
for (Class class1 : paraTypes) {
System.out.print("参数类型:"+class1.getSimpleName()+",");
}
System.out.println(")");
}

}
}

class Test
{
public void say(String word)
{
System.out.println(word);
}

public void say(String word,int n)
{
for(int i=0;i<n;i++){

System.out.println(word);
}
}

}
===============

方法的返回值void 方法名:say(参数类型:String,)
方法的返回值void 方法名:say(参数类型:String,参数类型:int,)

怎么在java方法内部获得给方法的参数列表。

Class<?>[] paramsClass = method.getParameterTypes();
取得参数列表的所有类型,这个是按这个方法的参数列表的顺序给出参数的类型的,有了这个类型就可以了呀,不需要参数名称;

❸ java中好几个不同的实体类要调用某个公共的方法,公共方法的参数怎么写。

因为,A,B,C没有继承公共超类,也没有实现公共接口,可以考虑使用泛型解决:
class 公共方法
{
public <U> void 方法1(Class<U> cls,U obj)
{
U o=cls.cast(obj);
//调用o的方法
}
}
则这样使用这个类:
公共方法 cf=new 公共方法();
A a=new A();
cf.方法1(A.class,a);
B b=new B();
cf.方法1(B.class,b);

❹ java 什么是把方法抽取出来

就是重构->抽取方法,简单来说就是把部分相关代码抽取出来成为一个方法,原来代码的位置改由调用该方法来代替。
如果你使用如Eclipse这种IDE,你可以通过选择要抽取的代码,鼠标右键选择重构->抽取方法,按照步骤给方法命名,确认,IDE就会帮你自动地把代码抽取出来形成一个私有的方法,原来的位置就会被调用这个方法的代码代替。
虽然操作步骤很简单,也就是把代码换个位置写,但实际隐含着程序设计的合理性和细粒度的考虑:
很明显你的代码里有超长的方法,一般方法会控制在10行以内,超过10行就可以认为有代码是可以提取出来成为公用方法的。超长的方法常常意味着高耦合、低内聚,重用性差和该类的职责太多。举个例子:
你的Servlet方法可能干了很多响应用户的操作,但有可能Servlet的另一个方法需要做其中一部分相同的操作,或者另外一个Servlet(一个Web应用有多个Servlet很正常)也需要同样的操作,更甚是一个本地的控制台应用程序(Servlet是属于会话层的,桌面应用程序一般不需要会话层)也需要做同样操作。这时候你会发现写在你的Servlet的代码只能拷贝到另一个程序中,或者压根就得重写,效率很低而且这样你的代码里会有很多重复代码...以后改一下就得改3个地方,不可维护的代码就是这样来的。同时你的超长方法也是难以理解的。
如何把握好程序的合理性需要很多的经验和设计技巧,这里就不提及了。有兴趣可以向着面向对象程序设计这个方向钻研。

❺ java怎么获取方法参数名

在java中,可以通过反射获取到类、字段、方法签名等相关的信息,像方法名、返回值类型、参数类型、泛型类型参数等,但是不能够获取方法的参数名。在实际开发场景中,有时需要根据方法的参数名做一些操作,比如像spring-mvc中,@RequestParam、@PathVariable注解,如果不指定相应的value属性,默认就是使用方法的参数名做为HTTP请求的参数名,它是怎么做到的呢?
在这样情况下,有两种方法获取方法来解决这种需求,第一种方法是使用注解,在注解中指定对应应的参数名称,在需要使用参数名称时,获取注解中相应的值即可。第二种方法是从字节码中获取方法的参数名,但是这有一个限制,只有在编译时使用了-g或-g:vars参数生成了调试信息,class文件中才会生成方法参数名信息(在本地变量表LocalVariableTable中),而使用-g:none方式编译的class文件中是没有方法参数名信息的。所以要想完全不依赖class文件的编译模式,就不能使用这种方式。

阅读全文

与java公共方法参数如何抽取相关的资料

热点内容
38十8399用简便方法计算 浏览:635
最简单织围巾方法 浏览:818
大链轮安装方法 浏览:264
海鲜粥的食用方法 浏览:812
铭牌暖气阀安装方法 浏览:423
静电环使用方法 浏览:321
检具有效性低用什么方法分析原因 浏览:76
小女孩做头发简单的方法 浏览:540
检测小错误的测试方法结构测试 浏览:788
耳朵最简单方法怎么画 浏览:998
养公狗的技巧和方法 浏览:564
橙子的保鲜方法怎么写 浏览:39
电锤常用开关接线方法 浏览:923
硬度试验方法如何使用 浏览:380
汽车配件运输合理损耗及计算方法 浏览:129
考试分析和学习方法结尾 浏览:319
绿松石微沁鉴别方法 浏览:658
静脉血栓中药治疗方法 浏览:365
证明磁铁存在的方法图片简笔画 浏览:549
怎么去除黄褐斑有效的方法 浏览:530