精华内容
下载资源
问答
  • java形参实参的区别篇一形参不能离开方法形参只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。而实参可以再程序的任何地方都使用。java形参实参的区别篇二形参代表一个合集,具有不确定...

    实参和形参是程序设计语言中的通用概念,并不是只有C,C++有而JAVA没有。关于他们两者的区别你知道吗?下面是学习啦小编为大家准备的java中形参和实参的区别,希望大家喜欢!

    java中形参和实参的区别篇一

    形参不能离开方法。形参只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。而实参可以再程序的任何地方都使用。

    java中形参和实参的区别篇二

    形参代表一个合集,具有不确定性,而形参代表一个独立事物,具有确定性(即使是为null)。也就是说,形参不能代表具体的对象,只能代表这些对象共同的属性(比如超类、各种其他自定义属性等等),而实参则是具体的对象(比如超类的实例)。

    java中形参和实参的区别篇三

    形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列),用通俗的话来说,形参告诉你什么样的东西才能用它,就好像一个声明、公告或者通则;而实参则是告诉你我在用它,就像一个实干家。

    java中形参和实参的区别篇四

    函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。

    java中形参和实参的区别篇五

    传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。

    展开全文
  • java中的形参实参

    2021-03-08 07:21:31
    java中向方法传递参数是,是将参数的副本传递进去,即方法运行时会被分配一块内存区域保存一个参数值的copy,修改副本值,对原参数并没有影响。要理解形参实参,并在编码中避免一些必要的错误,需要弄清两个概念。...

    java中向方法传递参数是,是将参数的副本传递进去,即方法运行时会被分配一块内存区域保存一个参数值的copy,修改副本值,对原参数并没有影响。

    要理解形参和实参,并在编码中避免一些必要的错误,需要弄清两个概念。

    1、什么是形参和实参

    2、方法调用时参数传递的过程

    3、值传递和引用传递

    import lombok.AllArgsConstructor;

    import lombok.Data;

    import lombok.NoArgsConstructor;

    public class ArgumentsTest {

    public static void main(String[] args){

    Emp empA = new Emp("ke",22);

    int num = 22;

    apply(empA);

    System.out.println(empA);

    apply2(num);

    System.out.println(num);

    }

    public static void apply(Emp emp){

    emp = new Emp("li",77);

    }

    public static void apply2(int num){

    num = 33;

    }

    @AllArgsConstructor

    @NoArgsConstructor

    @Data

    static class Emp{

    private String name;

    private int age;

    }

    }

    首先什么是形参什么是实参?

    在上述代码中,apply方法的参数emp,就是形参,形式参数,它代表实际参数来参与方法的逻辑;而实参就是在调用方法时,向方法传递的参数值,即main方法中empA。

    在方法运行时参数是如何传递的呢?

    首先,每个变量都会在内存中对应一个内存空间,用来存放参数值。而在方法运行时,虚拟机会在栈中创建内存空间保存一个实参的副本,该内存空间会在方法调用结束时销毁,该对副本的修改不会影响原参数的值。

    值传递和引用传递?

    在java中有两种数据类型,基本类型和引用类型。当变量是基本类型是,变量对应的内存空间保存的变量值,如上述代码中num保存22;当变量是引用类型时,内存中保存的是实际对象在堆中的地址。

    而在方法调用时,传递的都是变量对应内存中的值,不同的是基本类型参数传递值给方法,引用类型参数传递对象内存地址给方法。

    引用类型包括:类类型、接口类型、数组。

    运行上述代码:

    结果:

    ArgumentsTest.Emp(name=ke, age=22)22

    原参数值并没有被改变。

    引用类型参数被改变值的情况

    改变apply方法的逻辑:

    public static voidapply(Emp emp){

    emp.setName("li");

    emp.setAge(44);

    }

    结果:

    ArgumentsTest.Emp(name=li, age=44)

    原参数被改变了,为什么。

    因为,方法中的参数虽然是原参数的副本,但是实例对象在堆中的数据只有一份,如果直接去修改对象的属性值,就可以修改原参数值了。

    类似的,对数组,可以修改单个数组元素的值,也是有效的。

    对于包装类,可以通过反射修改内部的value,可以达到相同的效果。

    原文:https://www.cnblogs.com/whalesea/p/13172756.html

    展开全文
  • System.out.println("调用方法hange1前s的内存地址:"+System.identityHashCode(s));Integer i= 1;System.out.println("调用方法change1前:"+s+"-----"+i);change1(s, i);System.out.println("调用方法...

    public voidtest1(){

    String s= "1";

    System.out.println("调用方法hange1前s的内存地址:"+System.identityHashCode(s));

    Integer i= 1;

    System.out.println("调用方法change1前:"+s+"-----"+i);

    change1(s, i);

    System.out.println("调用方法change1后s的内存地址:"+System.identityHashCode(s));

    System.out.println("调用change1方法后:"+s+"-----"+i);

    String[] arr= {"1","2"};

    System.out.println("调用方法hange2前arr的内存地址:"+System.identityHashCode(arr));

    System.out.println("调用change2方法前:"+arr[1]);

    change2(arr);

    System.out.println("调用方法hange2后arr的内存地址:"+System.identityHashCode(arr));

    System.out.println("调用change2方法后:"+arr[1]);

    }private voidchange1(String s, Integer i){

    String str= "1";

    System.out.println("新定义str(与未改变的s相同):"+System.identityHashCode(str));

    s= "2";

    System.out.println("方法里改变s后内存地址:"+System.identityHashCode(s));

    i= 2;

    }private voidchange2(String[] arr){

    arr[1] = "lll";

    System.out.println("方法hange2的arr的内存地址:"+System.identityHashCode(arr));

    }

    //结果

    d824409b962e8757670640b79712b728.png

    如图:方法中形参的“s”(String类型)改变后地址发生了变化,只是形参的“s”(这里也可以随便起个名称如“s1”,“s2”)地址发生了改变,主方法实参“s”地址一直是原地址

    故:在方法中形参地址改变不会影响到实参地址;

    基本类型和String值改变是会改变对应的地址,但主方法“s”和“i”指向地址一直未变;故不会发生改变

    **** 注意:因为Integer和String都是final修饰,改变值后会指向新的地址;

    arr是引用类型在方法change2中修改后。方法中的形参“arr”和主方法中的实参“arr”指向的还是同一个地址,故改变后主方法实参“arr”指向地址的值发生改变,实参“arr”发生改变;

    故:引用类型的形参的引用地址与实参一样时,形参改变会影响到实参(非String和基本类型)

    举例:如果change2的方法中写的是 arr = new String[]{};

    也就是

    private voidchange2(String[] arr){//arr[1] = "lll";

    arr = new String[]{"222", "333"};

    System.out.println("方法hange2的arr的内存地址:"+System.identityHashCode(arr));

    }

    结果(在主方法中arr未改变):

    fc4f26411ad0f80f1b0bc9f4656e213f.png

    在change2中arr = new String[]{"222", "333"};相当于给方法中的形参“arr”指向了一个新的地址(此时change2中的“arr”和主方法中的“arr”指向地址已经不同),此时形参“arr”改变已经影响不到实参“arr”;

    因此又证明了:在方法中形参地址改变不会影响到实参地址;

    举例:如下面代码:

    public classTestPerson {public static voidmain(String[] args) {

    Person p1= new Person("张无忌");

    Person p2= new Person("赵敏");

    System.out.println("p1原值:"+p1);

    System.out.println("p2原值:"+p2);

    System.out.println("p1内存地址:"+System.identityHashCode(p1));

    System.out.println("p2内存地址:"+System.identityHashCode(p2));

    change3(p1, p2);

    System.out.println();

    System.out.println("调用change3之后p1值:"+p1);

    System.out.println("调用change3之后p2值:"+p2);

    System.out.println("调用change3之后p1内存地址:"+System.identityHashCode(p1));

    System.out.println("调用change3之后p2内存地址:"+System.identityHashCode(p2));

    }public static voidchange3(Person x, Person y){

    Person temp=x;

    x=y;

    y=temp;

    System.out.println();

    System.out.println("change3方法中交换后(之前x=p1;现在x=p2)x="+x);

    System.out.println("change3方法中交换后(之前y=p2)y="+y);

    System.out.println("change3方法中交换后(之前x=p1;现在x=p2)x内存地址:"+System.identityHashCode(x));

    System.out.println("change3方法中交换后(之前y=p2)y内存地址:"+System.identityHashCode(y));

    }

    }classPerson{publicString name;publicPerson(String name) {this.name =name;

    }

    @OverridepublicString toString() {return "Person [name=" + name + "]";

    }

    }

    在change3中只不过是让x和y的引用地址发生了改变;但不会影响到原有的p1和p2指向的地址

    f6c855b81f5aabc290be61c92999fd21.png

    开始p1和x指向同一个地址,p2和y指向同一个地址,在方法未交换之前实参和形参的地址(即p1->17984913、x->17984913、p2->14116828、y->14116828),调用方法后因为x和y互换(即p1->17984913、x->14116828、p2->14116828、y->17984913)p1和p2不变,x和y地址互换,之后没发生具体值的改变,且p1和y指向同一个地址,p2和x指向对一个地址,故p1和p2不会发生变化;

    举例:p1发生变化

    public static voidchange3(Person x, Person y){

    Person temp=x;

    x=y;

    y=temp;

    y.name="张三";

    System.out.println();

    System.out.println("change3方法中交换后(之前x=p1;现在x=p2)x="+x);

    System.out.println("change3方法中交换后(之前y=p2)y="+y);

    System.out.println("change3方法中交换后(之前x=p1;现在x=p2)x内存地址:"+System.identityHashCode(x));

    System.out.println("change3方法中交换后(之前y=p2)y内存地址:"+System.identityHashCode(y));

    }

    //结果

    0aff88a15dcdff9d858af9146a8b6c5e.png

    在方法中交换之后p1个y指向同一个地址 如上图y和p1内存地址为8600110;故地址相同,修改y.name = "张三"; (即地址8600110的内容改变),因为p1也是指向8600110所以p1也会发生变化;

    故:当形参的引用地址与实参一样时,形参改变会影响到实参(非String和基本类型)

    .

    展开全文
  • 今天阅读了一个写的非常棒的博文,通过此博文再次复习了Java中参数传递的知识(即值传递引用传递的区别)。参考网站http://www.cnblogs.com/binyue/p/3862276.html。下面我将通过次博文记录自己的理解,还望能够帮助...

    今天阅读了一个写的非常棒的博文,通过此博文再次复习了Java中参数传递的知识(即值传递与引用传递的区别)。参考网站http://www.cnblogs.com/binyue/p/3862276.html。下面我将通过次博文记录自己的理解,还望能够帮助再学Java或者复习Java的朋友们。

    一、基本类型与引用类型在内存中的保存内容

    Java中的变量分为基本类型和引用类型两种。基本类型的变量保存数值本身,而引用类型的变量保存的是引用值,即指向内存空间的地址。

    基本类型包括:byte,char,int short,long,float,double,boolean;

    引用类型包括:类类型,接口类型和数组。

    二、基本类型与引用类型的区别

    *基本类型在声明其变量时就为它分配了空间:

    int value;

    value =10;//正确,因为声明a时就分配了空间

    *而引用不同,在进行引用的声明时只给变量声明了引用空间,而不分配数据空间:

    Date date;

    //执行实例化,开辟数据空间存放Date对象,然后把空间的首地址传给today变量

    //date=new Date();

    //如果注释掉上一步操作

    //The local variable date may not have been initialized

    //也就是说对象的数据空间没有分配

    date.getDate();

    *初始化过程如下:

    Date a,b;//在内存开辟两个引用空间

    a =new Date();//开辟存储Date对象的数据空间,并把该空间的首地址赋给a

    b = a;//将a存储空间中的地址写到b的存储空间中

    ##:注意:引用也是占用空间,一个空对象的引用大小大概是4byte。

    三、引用传递和值传递

    *值传递:方法调用时,实际参数将它的值传递给对应的形式参数,函数接收到的是原始值的副本,此时内存中存在两个相等的基本类型,若方法中对形参执行处理操作,并不会影响实际参数的值。

    *引用传递:方法调用时,实际参数的引用(是指地址,而不是参数的值)被传递给方法中相应的形式参数,函数接收到的是原始值的内存地址,在方法中,形参与实参的内容相同,方法中对形参的处理会影响实参的值。

    具体代码如下:

    public class ReferencePkValue2 {

    public static void main(String[] args) {

    ReferencePkValue2 t =new ReferencePkValue2();

    int a=99;

    t.test1(a);//这里传递的参数a就是按值传递

    System.out.println(a);

    MyObj obj=new MyObj();

    t.test2(obj);//这里传递的参数obj就是引用传递

    System.out.println(obj.b);

    }

    public void test1(int a){

    a=a++;

    System.out.println(a);

    }

    public void test2(MyObj obj){

    obj.b=100;

    System.out.println(obj.b);

    }

    }

    输出的结果是:

    100

    90

    100

    100

    * 这里要特殊考虑String,以及Integer、Double等几个基本类型包装类,它们都是immutable类型,

    因为没有提供自身修改的函数,每次操作都是新生成一个对象,所以要特殊对待,可以认为是和基本数据类型相似,传值操作。

    四、结论

    1)形参为基本类型时,对形参的处理不会影响实参。

    2)形参为引用类型时,对形参的处理会影响实参。

    3)String,Integer,Double等immutable类型的特殊处理,可以理解为值传递,形参操作不会影响实参对象。

    java 中形参与实参的转换

    java中有两个参数,一个是形参,一个是实参. 形参:在函数定义中,整个函数体内部都可以使用,离开了该函数就不能继续使用. 实参:出现在主函数中,进入被调函数后,实参变量也就不能继续使用. publi ...

    深入理解java的形参和实参

    转载声明:本文转载自公众号「码匠笔记」. 前几天在头条上看到一道经典面试题,引发了一些思考.也是写这篇文章的导火索. 背景 请看题: public    classMain{    publicsta ...

    浅谈对java中传参问题的理解

    之前用的c/c++比较多,在c/c++中对于传参类型,无外乎就是传值.传引用.传指针这几种.但在java中,由于没有指针类型,其传参的方式也发生了相应的变化.在网上找了找,按我之前的理解,java中传 ...

    js 函数中形参与实参的关系

    函数中形参与实参的关系 对于形参和实参的定义,在 权威指南中有着明确的定义.但是,我们更在意的是它们之间的关系,到底形参会不会影响到实参? 形参到底会不会影响到实参? 对于这个问题的答案,请先看以下两 ...

    java中容器的学习与理解

    以前一直对于java中容器的概念不理解,虽然学习过,但始终没有认真理解过,这几天老师提出了这样一个问题,你怎么理解java中的容器.瞬间就蒙了.于是各种搜资料学习了一下,下面是我学习后整理出来的的一些 ...

    java中传值方式的个人理解

    前言 这几天在整理java基础知识方面的内容,对于值传递还不是特别理解,于是查阅了一些资料和网上相关博客,自己进行了归纳总结,最后将其整理成了一篇博客. 值传递 值传递是指在调用函数时将实际参数复制一 ...

    Java中的不可变类理解

    一.Java中的不可变类 不可变类(Immutable Objects):当类的实例一经创建,其内容便不可改变,即无法修改其成员变量. 可变类(Mutable Objects):类的实例创建后,可以修 ...

    java的形参与实参的区别以及java的方法

    package com.lv.study; public class Demo05 { public static void main(String[] args) { //我想要用什么分隔符进行分隔 ...

    一道题带你搞定Python函数中形参和实参问题

    昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂.人生苦短,我用Python. 为了解答大家 ...

    随机推荐

    MySQL主从复制中常见的3个错误及填坑方案

    一.问题描述 主从复制错误一直是MySQL DBA一直填不完的坑,如鲠在喉,也有人说mysql主从复制不稳定云云,其实MySQL复制比我们想象中要坚强得多,而绝大部分DBA却认为只要跳过错误继续复制就 ...

    Git Cheat Sheet

    Merge Undo git merge with conflicts $ git merge --abort Archive $ git archive --format zip --output ...

    IOS 线程处理 子线程

    IOS 线程处理 子线程的启动与结束 技术交流新QQ群:414971585   IOS中,如果要在主线程中启动一个子线程,可以又两种方法: [NSThread detachNewThreadSelec ...

    CodeForces 686C-Robbers' watch

    题意: 一个电子手表的示数是7进制的,现在告诉你一天有多少小时和一小时有多少分钟,问你一天里有多少个时刻,这个表上显示的数字各不相同. 分析: 先找出表上有多少位数字,再按位dfs,看最后得到的数是否 ...

    《shell脚本学习指南》学习笔记之入门

    为什么要使用shell脚本? shell脚本能够轻易处理文件与目录之类的对象,而且是各UNIX系统之间经过POSIX标准化的通用的功能,因此Shell脚本只要“用心写”一次,即可应用到很多系统上,因此 ...

    Python-week1,第一周(基于Python3.0以上)

    1,变量 准确来说不是第一周学习了吧,应该是采用博客记录学习的第一周,记录并做个笔记吧,可能做的不好,但我高兴啊,废话不说了,上图. 学习过程中做的一些笔记,当然能面面俱到,只能在写博客的时候又能复习 ...

    npm cnpm yarn

    npm 如何下载指定版本的组件 先确保文件目录下含有 package.json 文件, 没有的话,可以通过 npm init 创建, 然后只需要在组件的后面加上 @2.8.1 版本号即可, 例如:re ...

    一个用JS数组实现的队列

    一个用JS数组实现的队列 /*一个用数组实现的队列*/ function Queue(){ this.dataStore = [];//存放队列的数组,初始化为空 this.enqueue = enq ...

    hololens DEP2220: 无法删除目标计算机“127.0.0.1”上的文件夹

    Hololens开发调试的过程中,可能会出现 “DEP2220: 无法删除目标计算机“127.0.0.1”上的文件夹“ 的错误导致无法部署,解决办法是进入项目属性页——调试——启动选项,勾选“卸载并重 ...

    展开全文
  • 形式参数和实际参数函数的参数分为形参实参两种。在本小节中,进一步介绍形参实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被...
  • java形参实参传递

    2021-02-12 14:06:59
    Java参数传递(其实java参数传递都是值传递,只不过当参数是对象时,传递的是地址,所以参数是对象时,如果通过形参改变对象内的内容,实参对象的内容也会改变,当对形参重新赋值时,这意味形参指向了别的对象,所以...
  • 技术老手一看就知道问题出在形参实参混淆了 JAVA形参实参的区别: 形参 顾名思义:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的。 形参只有在方法被调用的时候,虚拟机才会分配...
  • 方法用父类对象作形参 调用时用子类对象作实参, 则在该方法内使用的是 父类对象的方法。打个断点但不运行以下 看看执行步骤你就明白了~using System;using System.Collections.Generic;using System.Linq;using ...
  • 形参与实参 形参 烤羊排制作原料有羊排 辅料:洋葱、鸡蛋、小麦面粉等 调料:孜然,胡椒,花椒,辣椒,盐,茴香,油 实参 从市场上,超市里,京东到家买回来的羊排、洋葱、鸡蛋、小麦面粉、孜然,胡椒,花椒,...
  • 【摘要】即将参加全国计算机等级考试的考生们,考试即将到来,...关于2020年全国计算机二级JAVA复习知识点:形参实参的具体内容如下:2020年全国计算机二级JAVA复习知识点:形参实参形参:就是形式参数的意思。...
  • java中的形参与实参

    2021-11-12 21:05:40
    1.形参形参定义在方法(函数)中,只有调用所对应的函数时才会分配给形参内存单元,调用结束后释放所分配的内存单元,因此形参只可以在定义的函数内部使用。 2.实参实参可以是变量,常量,表达式等等。从刚开始...
  • 本文介绍了方法的三种实际的使用 方法重载、实参与形参传递的形式(有画内存图)方法递归(有基本递归例题) 一、方法重载 两同一不同 同一个类,相同方法名称但是参数列表不同 参数列表不同包括参数个数和参数类型...
  • java形参与实参

    2021-03-30 10:34:00
    相当于将实参的值赋值给实参 不同数据类型时实参形参可以进行自动类型转换,否则进行强制类型转换。
  • Java 变量 形参实参

    2020-12-28 10:52:56
    3. 简单来说就是进行函数调用的时候需要实参从主函数中传给被调用函数中的形参,这样函数才可以执行,实参形参起到一个桥梁的作用。 /*-- 例子 --*/ public class Test { public static void main(String...
  • Java 形参与实参

    2021-02-26 21:37:34
    这两天和一个朋友和我讨论了一个面试题,是形参与实参的问题。一个很有意思的小问题,一开始有些乱后来想想就明白了,所以我就对java参数传递做一个总结,以加深自己的基础知识。形参实参的区别形参就是形式参数,...
  • 实参:可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的.../*** 注意:* 传递参数:形参(方法中)的改变有没有影响实参(main函数中)* 1.基本数据类型 没有影响* ...
  • 实参:如果是基本类型,则实参不会变(传的是值);如果是对象,则实参会改变(传的是引用)。例如:public class Java{ public static void main(String[] args) { int b =5; changeInt(b); System.out.println(b);}...
  • 方法形参实参 public static void main(String[] args) { int sum1 = sum(20, 30);// 调用方法时,括号内为实参 System.out.println(sum1); int a = 10; int b = 20; int sum2 = sum(a, b);// a b 也是是实参 ...
  • JAVA形参改变对实参的影响

    千次阅读 2020-12-22 14:08:40
    JAVA形参改变对实参的影响 熟悉C/C++的同学都知道,如果想在传入形参的函数中,实现形参改变,实参也跟着改变的话,我们需要手动将实参的地址或引用传入给形参,这样形参生成的拷贝副本,就是实参指向存储单元的...
  • java 多态 实参形参

    2021-02-28 19:30:52
    多态:概述:多态是继 封装性,继承性,面向对象的第三大特性定义:多态:是指同一行为具有多个不同的表现形式.生活中:比如跑的动作:猫,狗,大象,跑起来的动作都是不一样的飞的动作...方法的重写【意义:不重写...
  • 第17题:某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上...17:A.11B.1 5C.16D.1818:A.0 和 7B.0 和 11C.2 和 11D.2 和 11答案解析讨论:www.cnitpm.com/st/...
  • 方法形参实参的关系 要认真体会一下形参实参的关系,这对初学Java的小白来说至关重要哦! #定义
  • 关键点:实参:如果是基本类型,则实参不会变(传的是值);如果是对象,则实参会改变(传的是引用)。具体实例和分析如下:示例一:传入参数为整形变量:public class Java{public static void main(String[] args){int...
  • 这篇文章就是想说一个结论,结论就是标题 —— Java形参的改变不会影响实参下面通过代码来理解这个结论。 public class Main { public static void main(String[] args) { int a = 10; int b = 20; System.out....
  • 进入changeName1方法形参a存储实参a的引用,即此时形参实参指向同一个对象。public changeName1(A a){ a.setName("tom"); } 字符串“tom”对象产生,它的引用也产生了,设为“@tom023”,将引用传给形参name...
  • 形参实参的区别形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参实参的功能是作数据传送。发生函数调用时,主调函数把...
  • 引用jiabobber的话:形参就是形式上的参数啊,实参就是实际的参数啊,其实各种语言形参实参都一样的概念的吧。jiabobber的这句话是对的,实参,形参是程序设计语言中的通用概念,并不是只有C,C++有而JAVA没有,也不叫传...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,837
精华内容 15,934
关键字:

java方法的形参与实参

java 订阅