大学生学费(接口)

package college;

public abstract class Student {
	public String name;
	public int fee;
	
	public Student(String name){   
		super();
		this.name=name;
	}
	public abstract void setFee(int fee);
	public abstract int getFee();
}

大学 里的 学生(S tudent 需要 学费, 而研究生(G raduate )作为 学生比较特殊, 除了 需要交学费外,还可以获取一部分 科研津贴 ,由学校 U niversity 统一发放。 此外, 学校还需要发放教师 T eacher 的工资

编写代码模拟上述场景:

1) 设计抽象Student

l 属性包括姓名(name、学费fee);

l 方法包括

- 构造方法StudentString name

- 抽象方法void setFeeint fee

- 抽象方法int getFee()

2) 定义一个接口Salary包含一个方法int getSalary();

3) 定义一个研究生类Graduate,继承Student类且实现Salary接口:

l 新增属性:收入salary

l 方法包括:

- 构造方法GraduateString name

- 重写void setFeeint fee

- 重写int getFee()

- 重写int getSalary(),研究生获得工资1500

- 新增方法boolean isLoan(),判断是否需要贷款(收入小于学费则需贷款)

4) 定义一个教师Teacher):

l 属性包括:姓名(name)、收入salary

l 方法包括:

- 构造方法TeacherString name

- 重写int getSalary()教师获得工资3000

5) 定义一个大学类(University通过void payOffSalary s)方法给研究生和教师发放并打印工资。

6定义主类Test,主函数中至少包括以下代码:

 

代码:

package college;

public interface Salary{
	
	public abstract int getSalary();
}


package college;

public abstract class Student {
	public String name;
	public int fee;
	
	public Student(String name){   
		super();
		this.name=name;
	}
	public abstract void setFee(int fee);
	public abstract int getFee();
}

package college;

public class Graduate extends Student implements Salary{
	public int salary;
	public Graduate(String name){
		super(name);
	}
	public void setFee(int fee){
		this.fee=fee;
	}
	public int getFee(){
		System.out.println(this.name+"所缴学费为:"+fee);
		return fee;
	}
	public int getSalary(){
		salary=1500;
		//System.out.println(this.name+"的工资为:"+salary);
		return 1500;
	}
	public boolean isLoan(){
		if(getFee()>getSalary()){
			return true;
			else
				return false;
		}
	}
	
}

package college;

public class Teacher implements Salary{
	String name;
	int salaty;
	Teacher(String name){
		this.name=name;
	}
	public int getSalary(){
		int salary = 3000;
		System.out.println(this.name+"的工资为:"+salary);
		return salary;
	}
}

package college;

public class University {
	void payoff(Salary s){
		s.getSalary();
	}
}

package college;

public class Test {
public static void mian(String[]args) {
	Graduate g=new Graduate("小亮");
	g.setFee(1000);
	g.getFee();
	University u=new University();
	u.payoff(g);//打印输出工资
	System.out.println("是否需要贷款:"+g.isLoan());
	Graduate r=new Graduate("小李");
	r.setFee(3000);
	r.getFee();
	u.payoff(r);
	System.out.println("是否需要贷款:"+r.isLoan());
	
	Teacher t=new Teacher("王老师");
	u.payoff(t);
}
}


结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值