1.JAVA开发介绍---13. 方法的形参和实参

形参于实参对应两种类型:值类型与引用类型

值类型:包括8种基本类型(byte、short、int、long、double、float、char、boolean)+String

引用类型:数组、类、接口等类型。

值类型时,形参方法内的参数值改变,并不会影响到实参的值。

引用类型时,形参方法内的参数值改变时,会影响到实参的值。注意是地址所指向的堆中的值,如果形参的地址改变了,那么这个改变不会影响到实参。

 

通俗一点讲:形参就是定义方法时的参数,是抽象的,实参是调用方法时的参数,可以理解为实际运用中的参数,是具体的。

就如字面意思,形参只是作为一个参照(模板),实参就是实物(通过模板印出来的东西),至于过程,可以这么说:实物(印制所需要的材料)加入到模板(形参)中,然后通过加工(就是你所写的方法),形成所需要的实物;

下面看例子:

public class DataDemo {

    public static void main(String args[]) {
        int a = 123;
        String s = "看我 ";
        StringBuffer sb = new StringBuffer("stringBuffer");
        changeInt(a);//这里的a是实参
        chengeString(s);//这里的s是实参
        chengeModel(sb);
        System.out.println("a=" + a);
        System.out.println("s=" + s);
        System.out.println("sb=" + sb);
    }

    /*在参数传递的过程中,
     *原始数据类型变量的值在方法调用期间会复制给形参,
     *因此形参是方法的局部变量,
     *所以对形参做出的任何修改在调用结束后都不会影响该变量的值。
     */
    public static void changeInt(int a) {//这里的a是形参
        a = 1;
    }

    /*
     * 对于String类型,并非原始数据类型,
     * 并且String是非可变的类,
     * 特点是在该对象的生命周期内,状态固定,不存在任何修改对象的方法
     * */
    public static void chengeString(String s) {//这里的s是形参
        s = "我要变形";
    }

    /*对于对象引用变量,传递的是一个对象的引用值
     * 在方法调用期间,实参和形参都是指向一个对象的引用
     * 所以在方法的调用过程中,对该对象的引用会导致该对象的变化
     */
    public static void chengeModel(StringBuffer sb) {//这里的s是形参
        sb.append("Buffer");
    }
}

打印结果:a=123
s=看我 
sb=stringBufferBuffer

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值