当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,