值传递和引用传递

    
传值调用是指传直接值进行运算,传址调用是指传对象引用进行运算,在Java中调用方法时,如果传递的参数是基本数据类型,在方法中将不能改变参数的值,这意味着你只能使用它们,如果传递的是对象引用,你也不能在方法中修改这个引用,但可以调用对象的方法以及修改允许存取的成员变量,所以如果不想改变参数的值,可以采用传值调用的方法,如果想改变参数的值,可采用传递对象的方法,间接修改参数的值
//传值调用
class P1
{
        public static void main(String[] args)
        {
                int x = 10,y = 10;
                doPower(x,y);        //当然还有更好的方法,这里只是个例子说明传值和传址调用
                System.out.println("x="+y+",y="+y);
        }
        static void doPower(int passX,int passY)
        {
                passX = passX*passX;
                passY = passY*passY;
                System.out.println("passX="+passX+",passY="+passY);
        }
}
//传址调用
class P2
{
        public static void main(String[] args)
        {
                Power p = new Power();
                p.doPower(10,10);
                System.out.println("x="+p.x+",y="+p.y);

        }
}
class Power
{
        int x,y;
        void doPower(int passX,int passY)
        {
                x = passX*passX;
                y = passY*passY;
        }
}
posted @ 2012-10-03 18:45  昨天.今天.明天  阅读(169)  评论(0编辑  收藏  举报