真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼是怎么傳參的,java方法傳參

java怎么傳參

傳遞參數(shù)主要通過(guò)方法傳遞

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、岐山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為岐山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

unserializedate();把這個(gè)構(gòu)造函數(shù)在重載下

unserializedate(string

name,string

sex);

在main方法下調(diào)用的時(shí)候就直接傳參了

比如:string

name="姓名";

string

sex

=

"性別";

new

unserializedate(name,sex);

這樣就可以了

Java中函數(shù)參數(shù)的傳遞是怎樣進(jìn)行的?

Java中函數(shù)參數(shù)的傳遞是按值傳遞。

下面證明Java中參數(shù)傳遞是完完全全是傳值而不是傳址。

一:

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

解釋:

第一個(gè)輸出10是因?yàn)閕nt是基本類型,傳遞的參數(shù)是intValue的拷貝,對(duì)拷貝的修改對(duì)原值intValue沒(méi)有影響.

第一個(gè)輸出10和上面是一個(gè)道理.

第三個(gè)輸出1234.由于String是類類型, str是stringValue的地址拷貝,參數(shù)str指向的地址和stringValue的一致,但在函數(shù)changeString 中,由于String的特殊性, str=“5555”和str=new String(“5555”)是等價(jià)的, str指向了新的”5555”所在的地址,此句后str就與原來(lái)的stringValue徹底脫離了聯(lián)系.

第四個(gè)輸出Member?name=Douglas?age=45的道理和上面相同.

第五個(gè)輸出Member?name=Andy?age=20是因?yàn)閏hangeMemberField函數(shù)中修改了參數(shù)member 的值,也就是修改member指向?qū)嵗闹?而這個(gè)實(shí)例正是member指向的值,因此member就變成了name=Andy 且age=20.

結(jié)論:

Java中參數(shù)傳遞的都是值,對(duì)應(yīng)基本類型,傳遞的是原值的拷貝;對(duì)于類類型,傳遞的是引用即地址的拷貝.

對(duì)于函數(shù)對(duì)參數(shù)的改變是否會(huì)影響原值的問(wèn)題:值類型自然不會(huì)影響到原值.而對(duì)于類類型要看改變的是參數(shù)的地址還是值,如果是前者,參數(shù)和原引用指向了不同的地址,它們自然脫離了關(guān)系;如果是后者,修改的實(shí)例就是原引用指向的實(shí)例,這當(dāng)然對(duì)原值進(jìn)行了修改.

java 怎么傳遞參數(shù)?

傳對(duì)象,之后通過(guò)反射,getClass()獲得對(duì)應(yīng)的類,具體代碼如下

Class?type=object.getClass();

Method method=type.getMethod("getId",null);//getId為getId()方法

Object id=method.invoke(object,null);


當(dāng)前標(biāo)題:java代碼是怎么傳參的,java方法傳參
文章URL:http://weahome.cn/article/dssgeij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部