1、为了更好的理解掌握方法参数传递,弄懂以下典型例子是有必要的:
例1:
public class ParamTest
{
public void changePoint(Point point)
{
point = new Point(); //当去掉此条语句时输出结果为:3
4
point.x = 3;
point.y = 4;
}
public static void main(String[] args)
{
ParamTest pt =new ParamTest();
Point point = new Point();
pt.changePoint(point);
System.out.println(point.x);
System.out.println(point.y);
}
}
class Point
{
int x;
int y;
}
结果输出:0
0
例2:
public class ParamTest1
{
public static void main(String[] aegs)
{
C c = new C();
int a = 1;
c.changInt(a);
System.out.println(a);
}
}
class C
{
void changeInt(int a)
{
a++;
}
} 运行结果为:1
2、方法重载:表示两个或多个方法名字相同,但方法参数不同。
即两方面其一不同即可:a>参数个数不同;
b>参数类型不同。
注:方法的返回值对重载没有任何影响。
3、构造方法的重载:只有参数不同。
如果想在一个构造方法中调用另一个构造方法,可以使用this()方式调用,括号中的参数表示目标构造方法的参数,并且,this()必须作为构造方法的第一条语句 。
例:public class ConstructorOverload
{
public ConstructorOverload()
{
this(3);
System.out.println("test");
}
public ConstructorOverload(int i)
{
System.out.println(++i);
}
public static void main(String[] args)
{
ConstructorOverload col = new ConstructorOverload();
}
}
运行结果为:4
test