题目:
有一个接口UnitPrice,如下所示:
interface UnitPrice {
public double unitprice( ); //返回商品的单价
}
(1)编写电视机类、计算机类和手机类来实现接口UnitPrice。
(2)编写一个公共类,其中包含main方法和static double get(UnitPrice u)方法。
(3)在main方法中,从键盘上输入电视、计算机和手机的销售个数,调用get方法可以分别得到商店各个商品的单价,之后商品的总销售额。
//接口回调
import java.util.*;
//接口 interface
//只有常量和方法声明
interface UnitPrice {
//常量可以被实现接口的所有类共享
//抽象方法,省略了public和abstract
double unitprice(); //返回商品的单价
}
//通过implements声明实现接口,类必须实现该接口的所有方法
class TV implements UnitPrice {
//一定要用public修饰接口方法
public double unitprice() {
return 7000;
}
}
class PC implements UnitPrice {
public double unitprice() {
return 6000;
}
}
class Phone implements UnitPrice {
public double unitprice() {
return 4000;
}
}
public class Jiekou {
static double get(UnitPrice u) {
double p = u.unitprice(); //接口变量调用unitprice方法
return p;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入电视的销售个数:");
int num1 = sc.nextInt();
System.out.println("输入计算机的销售个数:");
int num2 = sc.nextInt();
System.out.println("输入手机的销售个数:");
int num3 = sc.nextInt();
//创建了TV对象,调用get方法,将实参传给形参(接口变量)
TV tv = new TV();
double n1 = get(tv) * num1;
PC pc = new PC();
double n2 = get(pc) * num2;
Phone phone = new Phone();
double n3 = get(phone) * num3;
double total = n1 + n2 + n3;
System.out.println("总销售额是"+total);
}
}



