public interface Transport { //选择的交通方式 public void traffic(); }
public class Train implements Transport{ @Override public void traffic() { System.out.println("您好,您选择了火车作为出行方式,我将竭诚为您服务"); } }
public class Airplane implements Transport{ @Override public void traffic() { System.out.println("您好,您选择了飞机作为出行方式,我将竭诚为您服务"); } }
public class Bus implements Transport{ @Override public void traffic() { System.out.println("您好,您选择了巴士作为出行方式,我将竭诚为您服务"); } }
package com.imocc.objectproject.sample.system; public class CustomerSrevice { public Transport contact (int distance){ if(distance>1000){ return new Airplane(); }else if(distance<1000 &&distance >300){ return new Train(); }else { return new Bus(); } } public static void main(String[] args) { Transport transport = new Train(); transport.traffic(); Transport transport1 = new Airplane(); transport1.traffic(); Transport transport2 = new Bus(); transport2.traffic(); CustomerSrevice cs = new CustomerSrevice(); Transport transport3 =cs.contact(1200); transport3.traffic(); } }
public class Customer { public static void main(String[] args) { System.out.print("请您输入出发地到目的地的距离为:"); int distancer =new Scanner(System.in).nextInt(); CustomerSrevice customerSrevice = new CustomerSrevice(); Transport transport =customerSrevice.contact(1200); transport.traffic(); } }
看你的代码是把键盘输入赋值给distancer,那么你在调用CustomerSrevice类的实例化对象customerSrevice中的conta方法时,只需要将传入参数1200换成distancer即可。除此之外,CustomerService类中其实并不需要main方法,你的main应该也是跟着课程做的尝试,使用时并不需要。