1.题目
编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一
飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);
动物世界:来一次吃西瓜大赛;
图书馆:模拟一天的借阅过程;
学校:模拟选课过程;
等等
要求写个简要说明。
2.题解
public class MainTest {
public static void main(String
[] args
){
AClassStudent xiaoming
= new AClassStudent();
xiaoming
.setId(521521);
xiaoming
.showID();
xiaoming
.enter();
xiaoming
.lookC("2天速成java高级工程师");
xiaoming
.chooseC("2天速成java高级工程师");
xiaoming
.lookC("机器学习入门");
xiaoming
.chooseC("机器学习入门");
xiaoming
.exit();
}
}
interface EnterChooseClass{
public void lookC(String CName
);
public void chooseC(String CName
);
}
abstract class Student{
public void showID(){}
public void enter(){}
public void exit(){}
}
class AClassStudent extends Student implements EnterChooseClass{
private int id
;
int class_num
= 0;
public static final int MAX_CLASS_NUMBER
= 1;
public int getId(){
return id
;
}
public void setId(int id
){
this.id
= id
;
}
@Override
public void showID(){
System
.out
.println("学生ID是"+id
);
}
@Override
public void enter(){
System
.out
.println("该学生进入选课界面");
}
@Override
public void exit(){
System
.out
.println("该学生退出选课界面");
}
public void lookC(String CName
){
System
.out
.println("学号"+id
+"的学生查询\'"+CName
+"\'课程信息");
}
public void chooseC(String CName
){
if(class_num
<MAX_CLASS_NUMBER
){
System
.out
.println("学号"+id
+"的学生选择\'"+CName
+"\'课程");
class_num
++;
}
else{
System
.out
.println("学号"+id
+"的学生无法选择\'"+CName
+"\'课程,因为选课数目已到上限");
}
}
}