导航:首页 > 方法技巧 > 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公共方法参数如何抽取相关的资料

热点内容
屏幕补油最佳方法 浏览:295
业务流程分析方法和工具 浏览:985
男生如何长大腿的科学方法 浏览:195
地下水质分析方法 浏览:416
颈肩酸的锻炼方法视频 浏览:201
压尾指的方法视频 浏览:648
治疗隐血土方法 浏览:940
坚持集体研究的工作方法 浏览:934
生气不开车的方法视频 浏览:280
哪些是实现积极自我的方法 浏览:838
按钮的正确使用方法视频 浏览:655
简便计算方法四年级乘法算式 浏览:84
电视背景墙岩板安装方法 浏览:508
完美矿物晶的食用方法 浏览:396
国有企业人员退休工资计算方法 浏览:699
补水睡眠面膜使用方法 浏览:218
用简便运算的方法做题 浏览:650
煤元素分析方法 浏览:118
戒指缠线方法视频 浏览:791
如何用纸折盒子带盖简单方法 浏览:752