「java方法调用参数」java函数引用参数
今天给各位分享java方法调用参数的知识,其中也会对java函数引用参数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 怎么调用另一个类的参数
- 2、java中如何跨类调用参数
- 3、java调用参数是怎么理解的?
- 4、怎样调用java中有参数的方法
- 5、java怎样调用参数的方法
- 6、JAVA方法的调用带参数的
java 怎么调用另一个类的参数
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。例如:
public class MethodCall
{
public static void main(String[] args)
{
Test.sayStatic();
Test test = new Test();
test.sayInstance();
}
}
class Test
{
public static void sayStatic()
{
System.out.println("这是一个静态方法。");
}
public void sayInstance()
{
System.out.println("这是一个实例方法。");
}
}
java中如何跨类调用参数
如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。
如
class A{
public static void a(){}
public void b(){}
}
java中调用其他类的变量有以下几个步骤:
方法1:
new 一个其他类的对象出来,调用该类的公共变量(public)
方法2:
把其他类的变量设置为public static,即静态公共变量,直接用类名.变量名获取。但是这个方法最好只用于基础数据变量(int/long/boolean/double/byte等),否则会造成内存泄漏。
方法3:
用方法或者接口从其他类传递这个变量过来。
java调用参数是怎么理解的?
在方法调用时,需要根据方法声明传入适当的参数,通过每次调用方法时传参,极大的增强
了方法的统一性,避免了方法内部功能代码的重复。但是在实际传递参数时,如果在方法内部修改了
参数的值,则调用时使用的变量是否发生改变呢?
请看如下代码:
public class TransferValueDemo
{
public static void main(String[] args)
{
int m = 10;
int[] a = {1,2,34};
test(m,a);
System.out.println(m);
System.out.println(a[0]);
}
public static void test(int n,int[] t)
{
n = 0;
t[0] = 123;
}
}
执行该程序以后,程序的输出结果是:10 123。则在调用test方法时,同样都是传入参数,为
什么变量m的值未改变,而a[0]的值发生了改变呢?下面就来说明该问题。
在参数传递时,一般存在两种参数传递的规则,在Java语言中也是这样,这两种方式依次是:
按值传递(by value)
按值传递指每次传递参数时,把参数的原始数值拷贝一份新的,把新拷贝出来的数值传递到方法内部
,在方法内部修改时,则修改的时拷贝出来的值,而原始的值不发生改变。
说明:使用该方式传递的参数,参数原始的值不发生改变。
按址传递(by address)
按址传递指每次传递参数时,把参数在内存中的存储地址传递到方法内部,在方法内部通过存储地址
改变对应存储区域的内容。由于在内存中固定地址的值只有一个,所以当方法内部修改了参数的值以
后,参数原始的值发生改变。
说明:使用该方式传递的参数,在方法内部修改参数的值时,参数原始的值也发生改变。
在Java语言中,对于那些数据类型是按值传递,那些数据类型是按址传递都作出了硬性规定,
如下所示:
按值传递的数据类型:八种基本数据类型和String(这样理解可以,但是事实上String也是传递的地
址,只是string对象和其他对象是不同的,string对象是不能被改变的,内容改变就会产生新对象。
那么StringBuffer就可以了,但只是改变其内容。不能改变外部变量所指向的内存地址。关于String
的特殊性见本博客的String类深入解析)。
按址传递的数据类型:除String以外的所有复合数据类型,包括数组、类和接口
按照这里的语法规则,则上面的代码中变量m的类型是int,属于按值传递,所以在方法内部修改参数
的值时m的值不发生改变,而a的类型是数组,属于按址传递,所以在方法内部修改参数的值时,原始
的值发生了改变。
按值传递和按址传递在实际使用时,需要小心,特别是在方法内部需要修改参数的值时。有些时候,
对于按值传递的参数需要修改参数的值,或者按址传递时,不想修改参数的值,下面是实现这两种方
式时的示例代码。
按值传递时通过返回值修改参数的值:
public class TransferValueDemo1
{
public static void main(String[] args)
{
int m = 10;
m = test1(m); //手动赋值
System.out.println(m);
}
public static int test1(int n)
{
n = 15;
return n;
}
}
在该示例代码中,通过把修改以后的参数n的值返回,来为变量m赋值,强制修改按值传递
参数的值,从而达到修正参数值的目的。
按址传递时通过重新生成变量避免修改参数的值:
public class TransferValueDemo2
{
public static void main(String[] args)
{
int[] a = {1,2,3};
test2(a);
System.out.println(a[0]);
}
public static void test2(int[] m)
{
int[] n = new int[m.length];
for(int i = 0;i m.length;i++)
{
n[i] = m[i];
}
n[0] = 10;
}
}
在该示例代码中,通过在方法内部创新创建一个数组,并且把传入数组中每个参数的值都
赋值给新创建的数组,从而实现复制数组内容,然后再修改复制后数组中的值时,原来的参数内容就
不发生改变了。
这里系统介绍了Java语言中参数传递的规则,深刻理解这些规则将可以更加灵活的进行程
序设计。例如使用复合数据类型按址传递的特性可以很方便的实现多参数的返回,代码示例如下:
public int test3(int[] m,int[] n){……}
则该方法中,实际上返回了三种值,一个int的返回值,数组m的值,数组n的值,这只是参
数传递的一种基本使用,在JDK提供的API文档中也大量的存在该方法。
当是对象时,方法取得的是引用的copy。swap(obj a,obj b)
调用是swap(c,d),就是对象a,b的引用进行了复制。引用a和c都指向同一对象,引用b和d都指向同
一对象。如果Integer有setValue方法没有问题,但可惜没有,用int t=p.intValue能取得对象的
值,但还是不能交换。如果创建新对象,影响的只是c和d,不会影响a,b。
注意JAVA和VC的区别,JAVA没有指针,因此在无论方法中的形参怎样变化,方法外的实参不受影响。
(这句话也不完全对)
怎样调用java中有参数的方法
一个方法中的参数是局部变量,只能在本方法内部使用。如果非要在别的方法中使用,可以将你在方法1中输入的整数作为方法1的返回值,在方法2中调用方法1,间接调用输入的整数。
public int method1(){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
return n;
}
public void method2(){
int j = this.method1(); //调用方法1中的整数
}
java怎样调用参数的方法
很方便,直接用参数名调用啊
比如:
public void test(Map map, String name, String value) {
int size=map.size(); //这个就是直接调用参数的方法。
map.put(name, value);//这个也是。
}
JAVA方法的调用带参数的
首先你的getFormatDate(String format)需要一个String类型的参数,但你又不想传递一个String类型的,你就可以写一个null,表示空对象,其实这方法的目的就是动态创建解析日期的格式,你可以这样:
public static String getFormatDate(String format) throws Exception{
Date today = new Date();
SimpleDateFormat simple = new SimpleDateFormat(format);
System.out.println(simple.format(today));
return simple.format(today);//返回格式化后的字符串
}
java方法调用参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java函数引用参数、java方法调用参数的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。