当前位置:首页 » 编程语言 » java方法传递参数

java方法传递参数

发布时间: 2022-05-13 06:10:26

java 方法 传参

要是想传字面量的话 就这样

public class D {

public static void main(String[] args) throws Exception {

byte a = 45;

t(a);

t((byte)45);

}

public static void t(byte a) {

System.out.println(a);

}

}



正确的传参方式

❷ java 方法传参时,不是必须传的参数如何设置

1、java是强匹配的,调用方法,对应的参数必须要有值,如果不是必须传的,意思是你可能不需要用的,可以传null

2、或者改造原有的方法参数,把多余的参数去掉

3、或者另外写一个方法,少参数的,然后该方法内部,调用原来的方法

4、代码截图如下:

5、看代码,13行的,就相当于调用少一个参数的

拓展资料:

如题,有一个方法里两个形参,我另一个文件类中一个方法想要那个方法的返回值,可是第二个参数在这里用不到,能否只传第一个参数 如何实现,前提这个类不能继承后重写方法,因为多人合同写的。

解决方案

不可以,变通的办法是再写一个只有一个参数的函数重载形式,在其中给另一个参数一个预设值,间接调用。

解决方案二:

一个Action调用两个不同的方法

解决方案三:

调用的时候给一个无影响的值

解决方案四:

讲道理的话是不能这样做的,不过如果你传的第二个参数如果对于当前调用时没有意义也是可以传一个值的。

解决方案五:

首先,Java语法规定了方法的参数列表,那么调用的时候就需要按照方法定义传递给足够的参数,你那种需要少传参的话可以重载方法,不要定义那么多参数就可以了。

解决方案六:

你一个方法传入两个参数,但如果你只调用一个,那么另外一个参数你让人家多尴尬,你让人家尴尬了,人家也不会让你好过的,因此就给你报错啊,当然你可以像楼上所说,传入一个无影响的参数进去,但这又有什么意义,还造成代码的浪费,你这个方法每调用一次,就造成一次浪费,因此,最好的方法就是传入一个参数,写一个重载方法。初学者经验不足,互相指教~

解决方案七:

既然用不到第二个参数,最简单的,给个无关痛痒的初始值。

解决方案八:

方法定义2个参数,在方法体内提供判断参数,看传入的参数是否为null,调用方法时,只传入一个值,另一个是null就行。

解决方案九:

方法 重载一下 就好了。



❸ java 怎么传递参数

传对象,之后通过反射,getClass()获得对应的类,具体代码如下
Class<?>type=object.getClass();
Method method=type.getMethod("getId",null);//getId为getId()方法
Object id=method.invoke(object,null);

❹ 在java中,如何将方法作为参数传递

可以利用java反射机制中的Method对象 该对象类似于C++里面的函数指针
示例如下:
String methodName
Method method = oneProtein.class.getMethod(methodName);
for (oneProtein e:Cell)
method.invoke(e);

❺ Java的参数传递是值传递还是引用传递

java中方法参数传递方式是按值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而自己本身不会受到任何影响。
如果参数是基本类型,传递的是基本类型的字面量值的拷贝。

❻ 关于java方法参数是值传递还是地址传递

JAVA传递参数有两种方式:值传递和引用传递值传递是传递数据:如基本数据类型都是值传递引用传递是把形参和实参的指针指向了堆中的同一对象,对象的引用和数组的引用。实参,Java的基本数据类型,如int,double等在函数的参数传递时,传递的是

❼ java 中 如何通过命令行来传递参数

可以在命令行运行java程序时加上程序的参数。

例子如下:

public class HelloWorld{


public static void main(String args[]){


System.out.println("temp=" + args[0]);


}


}

源代码截图:

解释一下: String[ ] args

该参数,是一个字符串数组,用来接收从命令行输入的参数

1. 参数之间用空格隔开

2. java解释器会自动处理,把用空格隔开的每一个参数通过args数组传递给买呢()方法。

3. 参数的下标从0开始,args[0]表示第一个参数,例如java HelloWorld 10 20 30

4.可以有多个空格,多个空格会被忽略。

(7)java方法传递参数扩展阅读:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

❽ 用Java方法的参数怎么传递

在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java 应用程序是按值传递对象引用的。

❾ java中参数传递方式

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

❿ Java参数传递

Java的方法参数传递都是值传递。这个问题需要楼主慢慢理解,如果基础薄弱(C、C++基础弱)就记住就好。如果基础好可以从内存角度理解。


从语法和简单层面理解:str是一个String类型的对象,传递给changeStr方法,传递的是str的引用内容,方法内的changeStr(String value),value变量和str指向了同一个对象,但是value重新赋值后,它的指向改变了,但是str的指向不会发生,所以str的输出还是“Hello”,而changeObjValue方法传入的TEST的对象pt给changeObjValue(TEST ref),ref变量和pt变量指向了同一对象,之后通过改变了对象的内容,pt变量的指向没变,但是执行的对象的变量变了。所以pt的ptValue值变了。


进一步理解,Java对字符串进行了特殊处理,因为字符串这种数据类型太常用了,为了节省内容提高效率。Java把字符串放入了常量池,所以我们没办法在运行时修改一个字符串对象的内容。也就是对value变量的赋值操作是重写建立了一个对象。楼主可以测试经典的java String的代码:

Stringa="a";
Stringb="a";
Stringc=newString("a");
Stringd=newString("a");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(b==c);
System.out.println(d==c);


再深入,Java没有C和C++的指针概念,可以粗暴的理解Java的引用是一种特殊的指针(实际上Java尽量把程序猿从指针中解放出来,或者说避免直接操作内存对象)。有一种不负责的说法:Java的基本类型传递传递的是值,也就是值的副本,引用类型传递的时引用。但是要注意String对象的内容不可变,而且传递的引用指向不可变。运行时Java的局部变量在栈空间中(线程私有),对象在堆内存中(线程公有),changeStr方法相当于在堆内存中又开辟了一块儿空间重写分配了一个对象,但是str没有指向这个新new出来的对象。而changeObjValue方法修改的pt指向的对象的内容也就是修改的是堆内存的数据,ref和pt指向的是一块儿内存。所以pt的对象数据会变化。

热点内容
房产证加密码 发布:2025-05-11 02:49:17 浏览:339
服务器少个阵列卡盘符怎么找出来 发布:2025-05-11 02:34:07 浏览:635
斗地主源码开发 发布:2025-05-11 02:24:07 浏览:366
云服务器怎么设置攻击 发布:2025-05-11 02:22:09 浏览:826
python嵌套for循环 发布:2025-05-11 01:51:44 浏览:228
安卓怎么取消后台限制 发布:2025-05-11 01:45:45 浏览:258
一键搭建sk5服务器 发布:2025-05-11 01:40:09 浏览:514
鸿业acs加密锁模拟器 发布:2025-05-11 01:38:49 浏览:938
神庙逃亡2安卓版怎么玩 发布:2025-05-11 01:38:05 浏览:163
凯杰都什么配置 发布:2025-05-11 01:38:04 浏览:472