类的练习
完成一个java application 应用程序,描述一个人类。要求如下:
要求此人类必须包含有人的姓名、性别、出生日期等基本属性(变量)。
要求此人类描述吃饭的方法(函数)和描述睡觉的方法(函数)。例如睡觉方法的执行体为一个 System.out.println() 函数,此函数输出一段例如“ xx(姓名)往床上躺倒,不久就睡着了……”之类的描述睡觉的文本。
要求此人类的构造函数要具有无参数的构造函数,以及带有姓名、性别、出生日期等参数的构造函数,并在构造函数中输出一段描述xx(姓名)出生的文本。
实例化出张三和李四两个人类对象(变量),并为之赋初值。
调用张三、李四等人类对象的各种属性(类成员变量)和方法(函数)。
在上述人类的基础上派生一个继承自人类的新的学生类,加入学号等学生特有的属性,加入上课、考试等方法,并实例化一个或几个学生类对象,完成这些学生类对象的各种属性和方法的调用。
import java.time.LocalDate;
public class lei {
public static void main(String[] args){ //主方法
human zhangsan = new human("张三",1,1996,8,24,176);
human lisi = new human("李四",1,1995,1,02,181);
lisi.sleep();
zhangsan.getsex();
student wangwu = new student("王五",0,1998,4,21,174 ,"2017104" ,2);
System.out.println(wangwu.getbirthday());
wangwu.getnianji();
wangwu.shangke();
wangwu.shengji(2);
wangwu.getsex();
}
}
class human{ //创建human类
private String name;
private LocalDate birthday;
private int height;
private int sex;
public human(String n, int s, int year, int month, int day, int h){ //构造函数,创建一些基本的属性
name = n;
birthday = LocalDate.of(year,month,day);
sex = s;
height = h;
}
public String getname(){ //定义一些human的方法
return name;
}
public void getsex() {
if(sex==1){
System.out.println("性别为男");
}
else{
System.out.println("性别为女");
}
}
public LocalDate getbirthday() {
return birthday;
}
public int getheight() {
return height;
}
public void sleep() {
System.out.println(name+"躺上床,不久就睡着了");
}
public void eat() {
System.out.println(name+"从冰箱里找了些吃的,在餐桌上狼吞虎咽了起来");
}
}
class student extends human { //创建student类并从human类继承
private String xuehao;
private int nianji;
public student(String n, int t, int year, int month, int day, int h, String xue, int nian) {
super(n, t, year, month, day, h); //继承父类的构造函数
xuehao = xue;
nianji = nian;
}
public void shangke() { //定义一些学生的方法
System.out.println(getname() + "去上课");
}
public void getxuehao() {
System.out.println(xuehao);
}
public void getnianji() {
System.out.println(nianji);
}
public void shengji(int i) {
nianji = nianji + i;
System.out.println("更新后的年级:" + nianji);
}
}
结果