當前位置:首頁 » 編程語言 » java方法參數

java方法參數

發布時間: 2022-02-09 15:01:03

java 帶參數的方法

public class zh {
public void qk(double money,String kh)
{
System.out.print(kh+"賬戶,取款金額:"+money);
}

public void cx(String kh)
{
System.out.print("取款金額:"+money);
}

public void cq(double money,String kh)
{
System.out.print(kh+"賬戶,存款金額:"+money);
}

public void tc()
{
System.out.print("退出");
}

}

㈡ java中方法參數問題

方法中不是類創建了對象,而是生命了一個對象,這個對象屬於accp###Teacher類的。
創建對象是在main 方法裡面hq.judge()中創建的對象,創建的對象直接傳到上面的方法中接收的

㈢ Java中函數參數的傳遞是怎樣進行的

Java中函數參數的傳遞是按值傳遞。
下面證明Java中參數傳遞是完完全全是傳值而不是傳址。
一:
package com.sitinspring;

public class ChangeClass{
public void changeInt(int i){
i=5;
}

public void changeLong(long i){
i=555;
}

public void changeString(String str){
str="5555";
}

public void changeMember(Member member){
member=new Member("Cindy",35);
}

public void changeMemberField(Member member){
member.setAge(20);
member.setName("Andy");
}

public static void main(String[] args){
ChangeClass changeClass=new ChangeClass();

int intValue=10;
changeClass.changeInt(intValue);
System.out.println(intValue);

long longValue=10;
changeClass.changeLong(longValue);
System.out.println(longValue);

String stringValue="1234";
changeClass.changeString(stringValue);
System.out.println(stringValue);

Member member2=new Member("Douglas",45);
changeClass.changeMember(member2);
System.out.println(member2);

Member member=new Member("Bill",25);
changeClass.changeMemberField(member);
System.out.println(member);
}
}
二:

package com.sitinspring;

public class Member{
private String name;
private int age;

public Member(String name,int age){
this.age=age;
this.name=name;
}

public String toString(){
return "Member name="+name+" age="+age;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
輸出:
10
10
1234
Member name=Douglas age=45
Member name=Andy age=20
解釋:
第一個輸出10是因為int是基本類型,傳遞的參數是intValue的拷貝,對拷貝的修改對原值intValue沒有影響.
第一個輸出10和上面是一個道理.
第三個輸出1234.由於String是類類型, str是stringValue的地址拷貝,參數str指向的地址和stringValue的一致,但在函數changeString 中,由於String的特殊性, str=「5555」和str=new String(「5555」)是等價的, str指向了新的」5555」所在的地址,此句後str就與原來的stringValue徹底脫離了聯系.
第四個輸出Member?name=Douglas?age=45的道理和上面相同.
第五個輸出Member?name=Andy?age=20是因為changeMemberField函數中修改了參數member 的值,也就是修改member指向實例的值,而這個實例正是member指向的值,因此member就變成了name=Andy 且age=20.
結論:
Java中參數傳遞的都是值,對應基本類型,傳遞的是原值的拷貝;對於類類型,傳遞的是引用即地址的拷貝.
對於函數對參數的改變是否會影響原值的問題:值類型自然不會影響到原值.而對於類類型要看改變的是參數的地址還是值,如果是前者,參數和原引用指向了不同的地址,它們自然脫離了關系;如果是後者,修改的實例就是原引用指向的實例,這當然對原值進行了修改.

㈣ JAVA中 方法後參數列表

//Personperson就跟inta是一樣的,只不過一個是Person類型,一個是int類型。int是基本數據類型,Person這種引用數據類型。參數列表不能放方法

㈤ Java如何獲取方法參數的參數名稱

  • packagecom.mikan;

  • importjava.lang.annotation.*;

  • /**

  • *@authorMikan

  • *@date2015-08-0423:39

  • */

  • @Target(ElementType.PARAMETER)

  • @Retention(RetentionPolicy.RUNTIME)

  • @Documented

  • public@interfaceParam{

  • Stringvalue();

  • }

    獲取註解中的參數名的工具類:

  • packagecom.mikan;

  • importjava.lang.annotation.Annotation;

  • importjava.lang.reflect.Method;

  • /**

  • *@authorMikan

  • *@date2015-08-0500:26

  • */

  • publicclassParameterNameUtils{

  • /**

  • *獲取指定方法的參數名

  • *

  • *@parammethod要獲取參數名的方法

  • *@return按參數順序排列的參數名列表

  • */

  • publicstaticString[](Methodmethod){

  • Annotation[][]parameterAnnotations=method.getParameterAnnotations();

  • if(parameterAnnotations==null||parameterAnnotations.length==0){

  • returnnull;

  • }

  • String[]parameterNames=newString[parameterAnnotations.length];

  • inti=0;

  • for(Annotation[]parameterAnnotation:parameterAnnotations){

  • for(Annotationannotation:parameterAnnotation){

  • if(annotationinstanceofParam){

  • Paramparam=(Param)annotation;

  • parameterNames[i++]=param.value();

  • }

  • }

  • }

  • returnparameterNames;

  • }

  • }

測試類:

  • packagecom.mikan;

  • importjava.lang.reflect.Method;

  • importjava.util.Arrays;

  • /**

  • *@authorMikan

  • *@date2015-08-0423:40

  • */

  • publicclassParameterNameTest{

  • publicvoidmethod1(@Param("parameter1")Stringparam1,@Param("parameter2")Stringparam2){

  • System.out.println(param1+param2);

  • }

  • publicstaticvoidmain(String[]args)throwsException{

  • Class<ParameterNameTest>clazz=ParameterNameTest.class;

  • Methodmethod=clazz.getDeclaredMethod("method1",String.class,String.class);

  • String[]parameterNames=ParameterNameUtils.(method);

  • System.out.println(Arrays.toString(parameterNames));

  • }

  • }

㈥ Java方法的參數傳遞

對象型類型是引用傳遞,傳遞的是對象的地址。值被修改後原來的變數也會被修改。

㈦ java 方法作為參數

難道是用傳遞Method對象的方式,很不理解這樣做的意圖,直接在這個方法里掉你要傳的方法不行嗎?

㈧ JAVA中帶參數方法的概念

定義方法的時候,帶參數的方法,就是說,你以後調用這個方法的時候,想往裡面傳一些內容,然後方法內部的執行運算會用到你傳進去的這個內容,比如在Test類中有一個方法:
public int num(int i, int j) {
int k = i+j;
return k;
}
定義了num方法,num是方法名,後面的(int i, int j)叫做參數列表,參數列表裡面的這些個變數被叫做形式參數,簡稱形參,方法的形參屬於局部變數。
很明顯方法內部要使用到這兩個參數,叫他們相加,然後把結果使用return語句返回。
調用此方法:
int i = new Test().num(1, 1);
此時在調用的時候,傳進去的兩個值都是1,這兩個1叫做實際參數,簡稱實參,然後方法開始執行,將1加1的和使用return語句返回,就把這個2返回給調用環境了,然後賦值給i了。

所以在這里總結一下:
形參: 用來接收調用方法的時候傳進來的實參
實參:調用方法的時候,傳進去的實際的值

還有什麼不明白的?

㈨ java 方法參數的問題

通俗點說:小括弧內的參數是在調用這個方法時,需要給這個方法傳入的參數,用於給此方調用.比如說,有些方法是需要調用者傳參,方法才能對參數進行操作!

㈩ java 方法可以傳入多少個參數

java的方法可以動態傳入參數,比如methodA(String... values),它相當於傳進入一個values的數組,因此在你的內存支持的情況下,參數個數可以是無限個的。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:639
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:84
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:793
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:344
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:212
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:812
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:366
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:592