class Cycle{
private String name = "cycle";
public static void travel(Cycle c){
System.out.println("cycle.ride()"+c);
}
public String toString(){
return this.name;
}}
class Unicycle extends Cycle{
private String name =" Unicycle";
public String toString(){
return this.name;
}
}
class Bicycle extends Cycle{
private String name = "Bicycle";
public String toString(){
return this.name;
}
}
class Tricycle extends Cycle{
private String name = "Triclcle";
public String toString(){
return this.name;
}
}public class TestP{
public static void ride(Cycle c){
c.travel(c);
}
public static void main(String[] args){
Unicycle u = new Unicycle();
Bicycle b = new Bicycle();
Tricycle t = new Tricycle();
ride(u);
ride(b);
ride(t);
}
}
private String name = "cycle";
public static void travel(Cycle c){
System.out.println("cycle.ride()"+c);
}
public String toString(){
return this.name;
}}
class Unicycle extends Cycle{
private String name =" Unicycle";
public String toString(){
return this.name;
}
}
class Bicycle extends Cycle{
private String name = "Bicycle";
public String toString(){
return this.name;
}
}
class Tricycle extends Cycle{
private String name = "Triclcle";
public String toString(){
return this.name;
}
}public class TestP{
public static void ride(Cycle c){
c.travel(c);
}
public static void main(String[] args){
Unicycle u = new Unicycle();
Bicycle b = new Bicycle();
Tricycle t = new Tricycle();
ride(u);
ride(b);
ride(t);
}
}
你一步步的Debug ,调试的F5 , F6 有区别的,自己试下就知道了,执行流程完全可以自己测试啊。
请教下你老师或身边的人吧, 熟悉eclipse操作的都知道。
public static void ride(Cycle c){
c.travel(c);
}
又因为 u 继承 了Cycle
所以travel方法是来自于父类Cycle里面的。。所以执行完
public static void ride(Cycle c){
c.travel(c);
}
就跳到
public static void travel(Cycle c){
System.out.println("cycle.ride()"+c);
}
输出的应该是cycle.ride()Unicycle;
后面两个是一样的。
public static void ride(Cycle c){
c.travel(c);
}
又因为 u 继承 了Cycle
所以travel方法是来自于父类Cycle里面的。。所以执行完
public static void ride(Cycle c){
c.travel(c);
}
就跳到
public static void travel(Cycle c){
System.out.println("cycle.ride()"+c);
}
输出的应该是cycle.ride()Unicycle;
后面两个是一样的。