【上机作业】【java】2010.4.7 接口的练习
题目1. 学校中有教师和学生两类人,而在职研究生既是教师又是学生。设计两个接口studentinterface和teacherinterface。其中,studentinterface接口包含setFee()getFee()方法,分别用于设置和获取学生的学费;teacherinterface接口包含setPay()和getPay()方法,分别用于设置和获取教师的工资。
定义一个研究生类graduate,实现studentinterface接口和teacherinterface接口,它的成员变量有name,sex,age,fee,pay。
创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
要求:在graduate中实现各个接口定义的抽象方法。
import java.util.Scanner;
interface studentinterface{
abstract void setFee();
abstract void getFee();
}
interface teacherinterface{
abstract void setPay();
abstract void getPay();
}
class graduate implements studentinterface,teacherinterface {
String name;
String sex;
int age;
double fee;
double pay;
graduate(String n,String s,int a){
name=n;
sex=s;
age=a;
}
public void setPay(){
Scanner s=new Scanner(System.in);
System.out.print(“Set pay:”);
pay=s.nextDouble();
}
public void getPay(){
System.out.println(“pay=”+pay);
}
public void setFee(){
Scanner s=new Scanner(System.in);
System.out.print(“Set Fee:”);
fee=s.nextDouble();
}
public void getFee(){
System.out.println(“fee=”+fee);
}
}
class display{
public static void main(String []args){
graduate g=new graduate(“zhangsan”,”m”,25);
g.setPay();
g.setFee();
if(g.pay*12-g.fee<2000)
System.out.println(“provide a loan”);
}
}
题目2:以员工类为父类,经理、工人均继承该类,创建经理类和工人类,输出经理和工人的工资。在父类中编写getSalary()方法,并在子类中覆盖,实现多态。
功能要求
对单位职工进行抽象。创建三个类:员工类、经理类、工人类。
重写父类的方法,并用父类的引用指向子类的对象,实现多态。
abstract class staff{
double Salary;
staff(double s){
Salary=s;
}
void getSalary(){
System.out.println(“staff Salary:”+Salary);
}
}
class Manager extends staff{
Manager(double s){
super(s);
}
void getSalary(){
System.out.println(“Manager Salary:”+Salary);
}
}
class worker extends staff{
worker(double s){
super(s);
}
void getSalary(){
System.out.println(“worker Salary:”+Salary);
}
}
class display2{
public static void main(String []args){
Manager m=new Manager(5000.0);
worker w=new worker(4000.0);
m.getSalary();
w.getSalary();
}
}
题目3: 以汽车为例,创建汽车接口,卡车(truck)和吊车均(crane)实现该接口。吊车可以吊起货物,卡车可以载货。
interface car{
abstract void run();
}
class truck implements car{
public void run(){
System.out.println(“truck run”);
}
public void load(){
System.out.println(“truck load”);
}
}
class crane implements car{
public void run(){
System.out.println(“crane run”);
}
public void sling(){
System.out.println(“truck sling”);
}
}
class display3{
public static void main(String []args){
truck t=new truck();
crane c=new crane();
t.run();
t.load();
System.out.println(“———————–“);
c.run();
c.sling();
}
}