1:什么是实参,什么是形参
2:关于方法中的参数的值调用(传值)是什么概念<可否举个简单的例子>
3:关于方法中的参数的引用调用(传引用)是什么概念<可否举个简单的例子>谢谢

解决方案 »

  1.   

    实参就是将一个数的值传过去,形参就是传一个引用!
    实参:
    public class Test1
    {
    static int s=0;
    public int sum()
    {  int x=3,y=4;
    s=x+y;
    System.out.println(s);
    return s;
    }
    public static void main(String args[])
    {
    Test1 t=new Test1();
    t.sum();
    System.out.println(s);
    }};
    形参:public class Test2
    {
    static Integer s=new Integer(0);
    public Integer sum()
    {  
    s=new Integer(7);
    System.out.println(s);
    return s;
    }
    public static void main(String args[])
    {
    Test1 t=new Test1();
    t.sum();
    System.out.println(s);
    }};
      

  2.   

    实参是被传递的参数 如:disply("ffff");
    形参是接收实参的参数 如:public void disply(String str)
    在java中参数传递分为按值和按引用。
    按值:
    public class Test1
    {
    static int s=888;
    static public void sum(int n)
    {  
                 System.out.println(n);
    }
    public static void main(String args[])
    {
    sum(s);
    }};
    按引用:public class Test2
    {
    static String s="ffff";
    static public void disply(String str)
    {  
    System.out.println(str);
    }
    public static void main(String args[])
    {
    disply(s);
    }
    };
    值类型按值
    引用类型按引用
    上例中string为引用类型所以按应用
      

  3.   

    interface Bird{
    public void getName();
    public void setName();
    }
    public class LittleBird extends Bird{
    private String name;
    public String getName(){
    return this.name;
    }
    public void setName(String name){
    this.name=name;
    }
    public static void main(String[] args){
    Bird bird=new BigBird();
    //这里bird 是形式参数,BigBird的一个实例是实际参数。
    bird.setName("sparrow");
    System.out.println(bird.getName());
    }
    }
    传值的都是一些基本类型,如int,double,char,long等
    而传引用的都是对象。如String,自定义的对象等。
      

  4.   

    参数一by value 而非by reference方式传递
    譬如:
    public static void m(Point tpt,int j){pt.setLocation(5.5);
    j = 15;
    Sytem....Print("in m pt = " pt + "j = " + j);}public ....main(String args[]){   Point p = new Point(0,0);
       int i = 100;
       System....println("before ... p=" +  p +  "i = " + i);
       m(p,i);
       System....println("after... p=" +  p +  "i = " + i);}结论:m()是在与[point对象的reference的复件]打交道,而不是[point对象复件]打交道,p是个object reference,并且java以by value方式传递
      

  5.   

    假如有一个我interface: messagelistenner   它有一个方法accet()
    如果我在类中使用
    ipsearch(messagelistenner listenner)
    是否ipsearch()方法通过参数去调用或改变或影响accet方法
      

  6.   

    假如有一个我interface: messagelistenner   它有一个方法accet()
    如果我在类中使用
    ipsearch(messagelistenner listenner)
    是否ipsearch()方法通过参数去调用或改变或影响accet方法
      

  7.   

    假如有一个我interface: messagelistenner   它有一个方法accet()
    如果我在类中使用
    ipsearch(messagelistenner listenner)
    是否ipsearch()方法通过参数去调用或改变或影响accet方法
      

  8.   

    java中都是值传递,我好像听过这句话
      

  9.   

    messagelistenner listenner?
    这样只是声明一个引用,并没有创建对象,对象的方法属性还没有装载,怎么能改变他的方法呢?