homework

来源:互联网 发布:酷狗mac版 编辑:程序博客网 时间:2024/06/05 09:44
(1)定义以下这些接口和类,并完成相关属性和方法的声明和调用.数据类型,参数列表,返回值类型等请根据题目需要自行定义.
学习接口Learning(包含方法: 预习preLearn,上课lessons,复习reveiw)
喝酒接口Drinking(包含方法: 喝酒drink, 吐throwup,耍酒疯playMad)
抽象类Person(包含属性:姓名、年龄、性别,抽象方法:谈恋爱(Love) 
学生Student是人,得会学习但不能喝酒(因为会使大脑变笨);他们还有自己的学校(school),还喜欢和朋友聊微信(chatting).
公务员Officer是人,不用学习,但经常需要喝酒应酬;他们还得经常开一些无聊的会议(meeting).
程序猿Programmer,是人,必须经常学习,较少社交所以不喝酒;他们特别喜欢写代码(coding),和修bug(debuging).
(2)在场景类Client中定义一个方法method1,在形参和实参上体现对象的多态性,在方法中进行调用,如果对象的实际类型是学生,就和朋友聊微信;如果是公务员,就去开会;如果是程序猿,就去写代码和修bug.
(3)直接打印一个学生对象,就能以下面格式来输出:
学生信息:  姓名:张三,性别:男,年龄:20,学校:北大.
(4)如果两个学生的姓名、性别、年龄、学校一样,则认为这两个学生“相等”。

学习接口Learning:
package homework;public interface Learning {public abstract void preLearn();public abstract void lessons();public abstract void review();}

喝酒接口Drinking:
package homework;public interface Drinking {public abstract void drink();public abstract void throwUp();public abstract void playMad();}

抽象类Person:
package homework;public abstract class Person {private String name;private String sex;private int age;public Person() {super();}public Person(String name, String sex, int age) {super();this.name = name;this.sex = sex;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public abstract void love();public void work(){}}

学生类Student继承Person类实现Learning接口:
package homework;public class Student extends Person implements Learning{private String school;public Student() {}public Student(String name,String sex,int age, String school){super(name, sex, age);this.school=school;}public String getSchool() {return school;}public void setSchool(String school) {this.school = school;}@Overridepublic void love() {}@Overridepublic void preLearn() {}@Overridepublic void lessons() {}@Overridepublic void review() {}public void chatting(){System.out.println("学生和朋友聊微信");}@Overridepublic String toString() {return "姓名:"+getName()+",性别:"+getSex()+",年龄:"+getAge()+",学校:"+getSchool();}@Overridepublic boolean equals(Object object) {if(object==null){return false;}else if(object==this){return true;}else if(!(object instanceof Student)){return false;}Student student=(Student)object;if(getName().equals(student.getName()) && getSex().equals(student.getSex()) && getAge()==student.getAge() && school.equals(student.school)){return true;}return false;}}

公务员Officer继承Person类实现Drinking接口:
package homework;public class Officer extends Person implements Drinking{@Overridepublic void drink() {}@Overridepublic void throwUp() {}@Overridepublic void playMad() {}@Overridepublic void love() {}public void meeting(){System.out.println("公务员去开会");}}

程序猿Programmer类继承Person类实现Learning接口:
package homework;public class Programmer extends Person implements Learning{@Overridepublic void preLearn() {}@Overridepublic void lessons() {}@Overridepublic void review() {}@Overridepublic void love() {}public void coding(){System.out.println("程序员写代码");}public void debuging(){System.out.println("程序员修bug");}}

场景类Client:
package homework;public class Client {public void method1(Person person){if(person==null){System.out.println("不能传空值");}else if(person instanceof Student){Student student=(Student)person;student.chatting();}else if(person instanceof Programmer){Programmer programmer=(Programmer)person;programmer.coding();programmer.debuging();}else if(person instanceof Officer){Officer officer=new Officer();officer.meeting();}}}
测试类Test:
package homework;public class Test {public static void main(String[] args){Student student1=new Student();Client client=new Client();//学生和朋友聊天client.method1(student1);Person programmer=new Programmer();//向上转型//程序员改代码、修bugclient.method1(programmer);//公务员开会client.method1(new Officer());Student student=new Student("张三","男",20,"北大");System.out.println(student);Student student2=new Student("张三","男",20,"北大");System.out.println(student.equals(student2)?"学生相等":"学生不相等");}}




阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 剧目舞蹈 高考舞蹈剧目 潮剧剧目大全 经典舞蹈剧目 梅兰芳经典剧目 50首经典潮剧剧目大全 莆仙戏二团2018年新剧目 适合艺考的古典舞剧目 汤姆叔叔的小屋改编大型剧目 戏曲剧种 剧种 中国剧种 中国戏曲剧种 天仙配是什么剧种 昆剧是哪个地方的剧种 陈情令剧组 剧组词 剧组 剧组夫妻 陈情令剧组每个演员都好搞笑 陈情令剧组火灾 陈情令剧组参加节目 陈情令剧组上过哪些节目 陈情令剧组发生火灾 陈情令剧组上快本是哪一期 陈情令剧组采访 陈情令剧组看过原著吗 横店一剧组被曝拍戏虐狗 中国机长剧组演员名单 陈情令剧组火灾原因 陈情令剧组演唱会 剧组招聘的正规途径 导演40天潜遍剧组女演员 如何进入正规剧组 台剧 栏目剧 剧终图片 爱情剧终非主流 非故意伤人罪番外之剧终 在远方剧评