概念模糊,请高手解答<关于参数的相关问题3个> 1:什么是实参,什么是形参2:关于方法中的参数的值调用(传值)是什么概念<可否举个简单的例子>3:关于方法中的参数的引用调用(传引用)是什么概念<可否举个简单的例子>谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实参就是将一个数的值传过去,形参就是传一个引用!实参: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); }}; 实参是被传递的参数 如: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为引用类型所以按应用 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,自定义的对象等。 参数一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方式传递 假如有一个我interface: messagelistenner 它有一个方法accet()如果我在类中使用ipsearch(messagelistenner listenner)是否ipsearch()方法通过参数去调用或改变或影响accet方法 假如有一个我interface: messagelistenner 它有一个方法accet()如果我在类中使用ipsearch(messagelistenner listenner)是否ipsearch()方法通过参数去调用或改变或影响accet方法 假如有一个我interface: messagelistenner 它有一个方法accet()如果我在类中使用ipsearch(messagelistenner listenner)是否ipsearch()方法通过参数去调用或改变或影响accet方法 java中都是值传递,我好像听过这句话 messagelistenner listenner?这样只是声明一个引用,并没有创建对象,对象的方法属性还没有装载,怎么能改变他的方法呢? Java 窗体问题 望指教,运行一组代码后显示错误,请问是为什么? 关于api的一些问题 春节快乐!关于jdk5.0的Type safety: The cast from Object to HashMap<String,Object> is actually Hi eveyone, 我有一个如何比较两个大VO对象是否相等的问题,请大家帮忙,谢谢 正则表达式换行问题 请问什么叫网格(grid)计算机? 如何将IE做为一个ACTIVEX控件被java引用 关于java本文读取的优化 如何将txt文本里的数据转化为String数组 想知道大家都用那个版本的插件 培训可靠吗?
实参:
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);
}};
形参是接收实参的参数 如: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为引用类型所以按应用
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,自定义的对象等。
譬如:
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方式传递
如果我在类中使用
ipsearch(messagelistenner listenner)
是否ipsearch()方法通过参数去调用或改变或影响accet方法
如果我在类中使用
ipsearch(messagelistenner listenner)
是否ipsearch()方法通过参数去调用或改变或影响accet方法
如果我在类中使用
ipsearch(messagelistenner listenner)
是否ipsearch()方法通过参数去调用或改变或影响accet方法
这样只是声明一个引用,并没有创建对象,对象的方法属性还没有装载,怎么能改变他的方法呢?