Java基礎(chǔ)知識(shí):java中方法參數(shù)的一些總結(jié)
Java程序設(shè)計(jì)語(yǔ)言使用值調(diào)用。也就是說(shuō),方法得到的是所有參數(shù)值的一個(gè)拷貝,特別是,方法不能修改傳遞給它的任何基本數(shù)據(jù)類
方法參數(shù)共有兩種類型:
1、基本數(shù)據(jù)類型(數(shù)字、布爾值)。
2、對(duì)象引用。
一個(gè)方法不可能修改一個(gè)基本數(shù)據(jù)類型的參數(shù)。而對(duì)象引用作為參數(shù)就不同了,對(duì)象參數(shù)所引用的對(duì)象狀態(tài)是可以被改變的,因?yàn)榉椒?/p>
得到的是對(duì)象引用的拷貝,對(duì)象引用及其他的拷貝同時(shí)引用同一個(gè)對(duì)象。
Java程序設(shè)計(jì)語(yǔ)言對(duì)對(duì)象采用的不是引用調(diào)用,實(shí)際上,對(duì)象引用進(jìn)行的是值傳遞。
總結(jié)Java程序設(shè)計(jì)語(yǔ)言中,方法參數(shù)的使用情況:
1、一個(gè)方法不能修改一個(gè)基本數(shù)據(jù)類型的參數(shù)(即數(shù)值開(kāi)和布爾值)。
2、一個(gè)方法可以改變一個(gè)對(duì)象參數(shù)的狀態(tài)。
3、一個(gè)方法對(duì)象參數(shù)引用一個(gè)新的對(duì)象不改變方法外對(duì)象的值。
package com.action; public class Test { private static int i = 1; private static String s = "string1"; private static String[] ss = { "11", "bb", "cc" }; private static int j = 10; public int ii; static { System.out.println("靜態(tài)塊1"); System.out.println(i); } static { System.out.println("靜態(tài)塊2"); } /** * @param args */ public static void main(String[] args) { Test t = new Test(); t.changeInt(i); System.out.println("傳入int值:" + i + ":::" + j); t.changeString(s); System.out.println("傳入String值1:" + s); t.changeString2(s); System.out.println("傳入String值2:" + s); t.changeStrings(ss); System.out.println("傳入數(shù)組:" + ss[0] ); t.changeTest(t); System.out.println("傳入對(duì)象"+t.i); t.ii = 111; t.changeTest1(t); System.out.println(t.ii); } public void changeInt(int i) { i = 10; j++; } public void changeString(String s) { s = new String("changeString"); } public void changeString2(String s) { s.replace("o", "a"); } public void changeStrings(String[] s) { s[0] = "numberChange"; } public void changeTest(Test t) { Test tt = new Test(); tt.i = 100; t = tt; } public void changeTest1(Test t) { Test tt = new Test(); tt.ii = 1; t = tt; } } |
結(jié)果:
靜態(tài)塊1
1
靜態(tài)塊2
傳入int值:1:::11
傳入String值1:string1
傳入String值2:string1
傳入數(shù)組:numberChange
傳入對(duì)象100
111
一個(gè)方法中可以有多個(gè)靜態(tài)塊。
時(shí)間:2013-06-22 責(zé)任編輯:admin
相關(guān)文章
無(wú)相關(guān)信息