大家好,菜鸟的我刚学到java的多态和继承,还不是太懂接口,我就用继承和方法的重写写了一个小序,如下: public class Customer { double money; public Customer(double money){ this.money = money; } public void fuqian(){ System.out.println(money); } public static void main(String[] args) {
Commoncustomer cp = new Commoncustomer(36); Vipcustomer vp = new Vipcustomer(36); System.out.println("普通顾客应付帐为:"); cp.fuqian(); System.out.println("VIP顾客应付帐为:"); vp.fuqian(); }} public class Commoncustomer extends Customer { public Commoncustomer(double money){ super( money); } public static void main(String[] args) { Commoncustomer cp = new Commoncustomer(36); cp.fuqian(); }} public class Vipcustomer extends Customer { public Vipcustomer(double money){ super(money); } public void fuqian(){ System.out.println(money*(0.80)); } public static void main(String[] args) { Vipcustomer vp = new Vipcustomer(36); vp.fuqian(); }}
父类:people 子类:commonCustomer和VIPCustomer 继承people
至于多态,写几个同名方法。
public class Customer { public Customer(){
}
//付款方式
public double Pay(double money){
return money;
}
}//VIP继承顾客类
public class VIP extends Customer {
public VIP(){
}
//重写pay方法
@Override
public double Pay(double money) {
// TODO Auto-generated method stub
return money*0.8;
}
}//客户端
import java.util.Scanner;public class Test { public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入顾客类型:");
String type=input.next();
Customer people=null;
System.out.print("\n请输入金额:");
double money=input.nextDouble();
if(type.equals("顾客")){
people=new Customer();
}else{
people=new VIP();
}
System.out.println("\n应付金额:"+people.Pay(money));
}
}
public class Customer { double money;
public Customer(double money){
this.money = money;
}
public void fuqian(){
System.out.println(money);
}
public static void main(String[] args) {
Commoncustomer cp = new Commoncustomer(36);
Vipcustomer vp = new Vipcustomer(36);
System.out.println("普通顾客应付帐为:");
cp.fuqian();
System.out.println("VIP顾客应付帐为:");
vp.fuqian();
}}
public class Commoncustomer extends Customer {
public Commoncustomer(double money){
super( money);
}
public static void main(String[] args) {
Commoncustomer cp = new Commoncustomer(36);
cp.fuqian();
}}
public class Vipcustomer extends Customer {
public Vipcustomer(double money){
super(money);
}
public void fuqian(){
System.out.println(money*(0.80));
}
public static void main(String[] args) {
Vipcustomer vp = new Vipcustomer(36);
vp.fuqian();
}}