类的练习

类的练习

 完成一个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);
    }
}

结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Ramer42/article/details/83022954