Android方法的传递值及其改变
MainActivity如下:
[java]
package cn.testchangevar;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
/**
* Demo描述:
* Java中的传值及其改变
*
*/
public class MainActivity extends Activity {
private int id=7;
private Person mPerson;
private Button mButton;
private String mString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mString=new String("OOOOO");
mPerson=new Person("xx", 22);
mButton=(Button) findViewById(R.id.button);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("111 id="+id);
System.out.println("111 mString="+mString);
System.out.println("111 mPerson.getAge()="+mPerson.getAge());
System.out.println("=========================");
Util.change(id);
Util.change(mString);
Util.change(mPerson);
System.out.println("=========================");
System.out.println("222 id="+id);
System.out.println("222 mString="+mString);
System.out.println("222 mPerson.getAge()="+mPerson.getAge());
}
});
}
}
package cn.testchangevar;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
/**
* Demo描述:
* Java中的传值及其改变
*
*/
public class MainActivity extends Activity {
private int id=7;
private Person mPerson;
private Button mButton;
private String mString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mString=new String("OOOOO");
mPerson=new Person("xx", 22);
mButton=(Button) findViewById(R.id.button);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("111 id="+id);
System.out.println("111 mString="+mString);
System.out.println("111 mPerson.getAge()="+mPerson.getAge());
System.out.println("=========================");
Util.change(id);
Util.change(mString);
Util.change(mPerson);
System.out.println("=========================");
System.out.println("222 id="+id);
System.out.println("222 mString="+mString);
System.out.println("222 mPerson.getAge()="+mPerson.getAge());
}
});
}
}
Util如下:
[java]
package cn.testchangevar;
public class Util {
//不可以改变.因为int属于基础类型
public static void change(int i){
i=9527;
System.out.println("has been changed i="+i);
}
//可以改变.传递的是对象
public static void change(Person person){
person.setAge(88);
System.out.println("has been changed string="+person);
}
//不可以改变.虽然String也是对象,但是较为特殊
public static void change(String string){
string="XXXXX";
System.out.println("has been changed string="+string);
}
}
package cn.testchangevar;
public class Util {
//不可以改变.因为int属于基础类型
public static void change(int i){
i=9527;
System.out.println("has been changed i="+i);
}
//可以改变.传递的是对象
public static void change(Person person){
person.setAge(88);
System.out.println("has been changed string="+person);
}
//不可以改变.虽然String也是对象,但是较为特殊
public static void change(String string){
string="XXXXX";
System.out.println("has been changed string="+string);
}
}
Person如下:
[java]
package cn.testchangevar;
public class Person {
private String name;
private int age;
public Person(String na
补充:移动开发 , Android ,