Java 程序设计 Week4 互评作业 (类、接口、抽象类、override、常量)

写在最前

Java小白一只,记录下Java面对对象的例子,用到了类、接口、抽象类、@override,如果接口如果是Static,可以直接调用,例如本题的Borrow.open,如果是default,则可以重写,例如本题在Student类下重写接口BorrowBooks(),Static表示方法也可以当作全局变量,例如本题的public static int num = 10000。

一、题目

编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一:

  • 飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);

  • 动物世界:来一次吃西瓜大赛;

  • 图书馆:模拟一天的借阅过程;

  • 学校:模拟选课过程;

  • 等等

二、题解

运行效果:
Java 程序设计 Week4 互评作业 (类、接口、抽象类、override、常量)_第1张图片

public class Complex {
	public static void main(String[] args) {
		/* 图书馆开张啦 */
		Borrow.open();
		/* 公司职员jack来借了五本书 */
		Staff jack = new Staff();
		jack.BorrowBooks();
		jack.setBorrowBooks(5);
		/* 学生小唐来还了两本书 */
		Student Tang = new Student();
		Tang.ReturnBooks();
		Tang.setReturnBooks(2);
		/* 图书馆打烊啦 */
		Borrow.close();
	}
}

// Borrow 接口
interface Borrow{
	public static void open() {  //开门开业
		System.out.println("新的一天,元气满满~今天也要做一个为民服务的图书馆鸭~");//开门开业
	}
	public static void close() { //歇业打烊
		System.out.println("打烊啦~角落里那个学java的小伙子,明天再来肝吧~");
	}
	public default void BorrowBooks() {
		System.out.println("咦?大厅走过来一个人好像要来借书啦~");//借书
	}
	public default void ReturnBooks() {
		System.out.println("一位同志正准备过来还书~看这位同志的样子应该学到了不少知识!");//还书
	}
}
// Library 抽象类 
abstract class Library{
	public static int num = 10000;//设置图书馆藏书有一万册
	public abstract void setBorrowBooks(int n);
	public abstract void setReturnBooks(int n);
}

//Staff 类 :表示公司职员来借书
class Staff extends Library implements Borrow{
	//设置要借多少书
	@Override
	public void setBorrowBooks(int n) {
		num=num-n;
		System.out.println("公司职员借走了"+n+"本书,图书馆剩余"+num+"本书。");
	}
	@Override
	public void setReturnBooks(int n) {
		num=num+n;
		System.out.println("公司职员归还了"+n+"本书,图书馆剩余"+num+"本书。");
	}
}

//Student 类 :表示学生群体来借书
class Student extends Library implements Borrow{

	@Override
	public void setBorrowBooks(int n) {
		num=num-n;
		System.out.println("同学借走了"+n+"本书,图书馆剩余"+num+"本书。");
	}

	@Override
	public void setReturnBooks(int n) {
		num=num+n;
		System.out.println("同学归还了"+n+"本书,图书馆剩余"+num+"本书。");
	}
	
	@Override
	public void BorrowBooks() { //重写接口方法
		System.out.println("走过来一位同学,骨骼精奇,想必一定是一个java少年");
	}
}

鄙人有幸在MOOC互评作业时改到了自己的作业且一模一样,且学且珍惜。

你可能感兴趣的:(Java)