week4作业

这篇博客介绍了如何在Java中创建学习和喝酒接口,并定义Person抽象类,包括预习、上课、复习等方法。此外,还展示了Student、Officer和Programmer类的实现,以及如何在Client类中调用这些方法。最后,通过示例展示了如何比较两个Student对象是否相等,以及打印对象信息。
摘要由CSDN通过智能技术生成
(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)如果两个学生的姓名、性别、年龄、学校一样,则认为这两个学生“相等”。

1.(1)

学习接口:

package week4homework;


public interface Learning {     //学习接口
public void preLearn();  // 预习方法
public void lessons();   //上课方法
public void reveiw();    //复习方法
}

喝酒接口

package week4homework;
                                      //喝酒方法
public interface Drinking {
public void drink();  // 喝酒方法
public void threow();   //吐方法
public void playMad();    //耍酒疯方法
}

抽象类:

package week4homework;


public abstract class Person {
    private String name;
    private String sex;
    private int age;
    public Person(){
   
    }
    public Person(String name,String sex,int age){
    this.age=age;
    this.name=name;
    this.sex=sex;
    }
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();

}



Student类:

package week4homework;


public class Student extends Person implements Learning{
private  String Schoolname;
public Student(){

}
public Student(String name,String sex,int age,String Schoolname){
super(name,sex,age);
this.Schoolname=Schoolname;
}


public String getSchoolname() {
System.out.println("学校名字"+this.Schoolname);
return Schoolname;
}


public void setSchoolname(String schoolname) {
Schoolname = schoolname;
}


@Override
public void preLearn() {
System.out.println("上课前要预习");

}


@Override
public void lessons() {
System.out.println("上课就是玩手机呗");

}


@Override
public void reveiw() {
System.out.println("期末了,要复习,挂科很难受的");

}


@Override
public void love() {
System.out.println("大学生该谈一场恋爱的");

}
public void chatting(){
System.out.println("学生喜欢和人聊微信");
}

}


Officer类

package week4homework;


public class Officer extends Person implements Drinking{
public Officer(){

}
public Officer(String name,String sex,int age){
super(name,sex,age);
}


@Override
public void drink() {
System.out.println("公务员需要喝酒应酬");

}


@Override
public void threow() {
System.out.println("喝多了就会吐");

}


@Override
public void playMad() {
System.out.println("偶尔还耍酒疯");

}


@Override
public void love() {
System.out.println("大多人喜欢这个工作");
}
public void meeting(){
System.out.println("公务员经常会开一些无聊的会议");
}
}



Programmer类

package week4homework;


public class Programmer extends Person implements Learning{
public Programmer(){

}
public Programmer(String name,String sex,int age){
super(name,sex,age);
}


@Override
public void preLearn() {
}


@Override
public void lessons() {
System.out.println("程序员需要一直学习才能跟的上时代");

}


@Override
public void reveiw() {
}


@Override
public void love() {
System.out.println("程序员也有爱情");

}
public void coding(){
System.out.println("程序员特别喜欢敲代码");
}
public void debuging(){
System.out.println("程序员经常修复一些Bug");
}

}



1.(2)(3)(4)

Client类

package week4homework1;


public  class Client {


private String name;


    private int age;


    public Client(){


    


    }


    public Client(String name ,int age){


    this.name=name;


    this.age=age;


    }


    public void method(){


}
    public String getName() {
    return name;
}




    public void setName(String name) {
    this.name = name;
}
    public int getAge() {
    return age;
}
   public void setAge(int age) {
  this.age = age;
}

}



Student类:

package week4homework1;
public class Student1 extends Client{
private String Schoolname;
private String sex;
public Student1(String name,int age,String Scoolname,String sex){


   super(name,age);
   this.Schoolname=Scoolname;
   this.sex=sex;


   }
@Override
public void method() {
System.out.println("学生和朋友聊天!");


}
public String getSchoolname() {
return Schoolname;
}
public void setSchoolname(String schoolname) {
Schoolname = schoolname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String toString(){  
     return "学生信息:  姓名:"+super.getName()+" 性别:"+this.getSchoolname()+" 年龄:"+super.getAge()+""  
              + " 学校:"+this.getSex(); 
}
public boolean equals(Object obj){  
      Student1 stu = (Student1)obj;  
      if(this.getName() == stu.getName() && this.getSex() == stu.getSex()   
              && this.getAge() == stu.getAge() && this.Schoolname == stu.getSchoolname()){  
             
          return true;  
       }  
        
       return false; 
}
}


Officer类:

package week4homework1;


public class Officer1 extends Client{
public Officer1(){


}
public Officer1(String name,int age){
super(name, age);


}


    @Override


   public void method() {


   System.out.println("公务员要开会!");


   }
}



Programmer类:

package week4homework1;


public class Programmer1 extends Client{
public Programmer1(){


}
public Programmer1(String name,int age){
super(name, age);


}
@Override


  public void method() {
 System.out.println("程序员写代码、修bug!");


  }

}


text类:

package week4homework1;


import week4homework.Student;


public class Text {


public static void main(String[] args) {
Student1 stu=new Student1("张三", 20,"男",  "麻省理工大学");
Officer1 o=new Officer1("李四",  25);
Programmer1 p=new Programmer1("跳蛋",  24);
  method(stu);
  method(o);
    method(p); 
      System.out.println(stu);  //打印出学生信息  
      Student1 stu2 = new Student1("张三", 20,"男",  "麻省理工大学");  
     System.out.println(stu.equals(stu2));  //比较学生信息
         
}
private static void method(Client C) {
if(C instanceof Student1){  
           Student1 stu = (Student1)C;  
           stu.method();  
      }else if(C instanceof Officer1){  
          Officer1 o = (Officer1)C;  
          o.method();  
      }else if(C instanceof Programmer1){  
          Programmer1 p = (Programmer1)C;  
           p.method();  
          
       }  
   }  
}


输出结果:

学生和朋友聊天!
公务员要开会!
程序员写代码、修bug!
学生信息:  姓名:张三 性别:男 年龄:20 学校:麻省理工大学
true







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值