代码如下:
public class Leaf
{
int i=0;
Leaf increment()
{
i++;
return this;
}
void print()
{
System.out.println("i="+i);
}
public static void main(String []args)
{
Leaf x=new Leaf();
x.increment().increment().increment().print();
}
}
弄不清楚"x.increment().increment().increment().print();"执行的过程是怎么样的,是先x.increment()返回得一个X,然后继续x.increment()吗?执行三次,这时候i=3,输出i?另一个问题:
public class OverloadingOrder
{
static void print(String s, int i)
{
System.out.println("String:"+s+",int:"+i);
}
static void print(int i, String s)
{
System.out.println("int:"+i+",String:"+s);
}
public static void main(String []args)
{
print("String first",11);
print(99,"Int first");
}
}
中的 print("String first",11)和print(99,"Int first");谁能给我解释一下!
public class Leaf
{
int i=0;
Leaf increment()
{
i++;
return this;
}
void print()
{
System.out.println("i="+i);
}
public static void main(String []args)
{
Leaf x=new Leaf();
x.increment().increment().increment().print();
}
}
弄不清楚"x.increment().increment().increment().print();"执行的过程是怎么样的,是先x.increment()返回得一个X,然后继续x.increment()吗?执行三次,这时候i=3,输出i?另一个问题:
public class OverloadingOrder
{
static void print(String s, int i)
{
System.out.println("String:"+s+",int:"+i);
}
static void print(int i, String s)
{
System.out.println("int:"+i+",String:"+s);
}
public static void main(String []args)
{
print("String first",11);
print(99,"Int first");
}
}
中的 print("String first",11)和print(99,"Int first");谁能给我解释一下!
第二个问题就是调用不同的函数啊,注意参数的顺序
是先x.increment()返回得一个X,然后继续x.increment()吗?
是,就是返回自己,相当于连续执行3次x.increment()方法。答案:应该是3第二题:static void print(String s, int i)
{
System.out.println("String:"+s+",int:"+i);
}
static void print(int i, String s)
{
System.out.println("int:"+i+",String:"+s);
}
这是对print方法的重载。
这2个方法与系统自带的print方法是三个的不同的方法,虽然方法名相同,但参数的类型和顺序不同,所以是三个的不同的方法。
x.increment()返回x
第一次
x.increment().increment().print();
2x.increment().print();
3
x.print();
每次i 都加1