「java静态方法参数吗」Java中静态方法
本篇文章给大家谈谈java静态方法参数吗,以及Java中静态方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 静态方法如何实现参数传递
- 2、java中静态变量和静态方法的优缺点
- 3、java中一个静态方法能够将另一个静态方法作为参数吗?我没觉得有什么
- 4、java对象作为方法参数,静态方法能处理么?
- 5、Java中,为什么静态方法不能使用类型形参
- 6、java中静态,有无返回值,是否含参数总结
java 静态方法如何实现参数传递
import java.lang.reflect.Method;
public class MethodObject
{
private Object target;//
private String method_name;
public MethodObject(){}
public MethodObject(Object target, String methodName) {
super();
this.target = target;
this.method_name = methodName;
}
public MethodObject(Object target) {
super();
this.target = target;
}
public static MethodObject function(Object target, String methodName,Object...objects)
{
MethodObject mo=new MethodObject( target, methodName);
// mo.invoke(objects);
return mo;
}
public static MethodObject function(Object target,Object...objects)
{
MethodObject mo=new MethodObject( target);
// mo.invoke(objects);
return mo;
}
public Object invoke(Object... objects)
{
Class clazz = target.getClass();
try {
Method[] ms = clazz.getDeclaredMethods();
Method targetMethod = null;
if(method_name==nullms.length==1)
{
targetMethod=ms[0];
}
else if(method_name!=nullms.length=1)
{
for(Method m : ms){
if(method_name.equals(m.getName())){
targetMethod = m;
break;
}
}
}
else
{
return null;
}
targetMethod.setAccessible(true);
return targetMethod.invoke(target, objects);
} catch (Exception e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}
}
public void rebund(Object anothertarget){
target = anothertarget;
}
public Object getTarget()
{
return target;
}
public void setTarget(Object target)
{
this.target = target;
}
public String getMethod_name()
{
return method_name;
}
public void setMethod_name(String method_name)
{
this.method_name = method_name;
}
java中静态变量和静态方法的优缺点
java静态变量和静态方法会在程序初始化运行时候就加载到内存。
优点:不需要在进行实例化。静态变量的值,直接赋新值即可,不需要参数传递,之后可以直接进行参数引用即可;静态方法可以直接通过"类名.方法"的形式进行方法调用。通常方法被多次调用,并且方法中没有动态方法引用的时候使用比较方便。
缺点:初始化加载到内存,如果后续没被引用,加大了内存负担和程序运行负担,影响程序运行效率(一般很小),并且静态变量如果多处被引用赋值,很可能导致参数值混乱(如果是不变的值,最后加上final修饰,强制不能修改)。
备注:上面的都是理论知识,实际开发中,根据实际项目需求进行灵活调整即可。
java中一个静态方法能够将另一个静态方法作为参数吗?我没觉得有什么
理论上是可以的,但是实际中有线程安全的问题,所以不建议这么用,有问题继续探讨。
java对象作为方法参数,静态方法能处理么?
呃....S是个对象(Object)
Static void m1(String ss)
将方法的参数:s的类型换成String你是不是觉得这样是可以的
而String 的父类是Object怎么不可以呢~废话说多了
进入正题:
首先你说的静态方法只处理静态变量是对于它所在类里成员
例如:
class S
{
double a=2;
}
m1()
{
这里不不能直接调用 a变量的
如果a:
static a=2;
就可以调用
}
//静态方法不能调用非静态成员或非静态方法
因为静态方法不属性任何一个对象~它只属于类本身(产生一个对象首先要new)
Java中,为什么静态方法不能使用类型形参
静态方法只能使用静态变量, 因为静态的属性属于类级别的,而普通的参数是对象级别的。
java中静态,有无返回值,是否含参数总结
静态代表的是该属性或者方法属于整个类,随着类的加载而加载 。所以使用他的时候直接通过类名来调用即可,不需要new对象来调用。
返回值的话主要是看你的返回值的修饰符是void代表没有返回值,否则的话有返回值。
别的类不可以调用此类的静态的方法或者属性
java静态方法参数吗的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java中静态方法、java静态方法参数吗的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。