⚔疯狂输出⚔Java中复合的作用!!! 快速掌握

来源:互联网 发布:手机淘宝如何延长收货 编辑:程序博客网 时间:2024/05/22 05:02

我们先靠我们之前学的东西来写一个例子
题目需求
1.人类 吃
2.男人类 姓名 性别 有女朋友 吃肉 介绍女朋友是谁
3.女人类 姓名 性别 有男朋友 吃素 介绍男朋友是谁
4.男人挣钱给女朋友花(接口实现)
下面我们来定义一个抽象的人类 抽取男人类女人类共同的属性

abstract public class Person{private String name;   //成员变量  名字private String gender; //成员变量  性别public Person(){ //无参的构造方法}public Person(Sring name,string gender){ /有参的构造方法    this.name = name;    this.gender = gender;}public void  setName(String name){    set/get方法    this.name = name; }public String getName(){    return name ;}public void setGender(String gender){    this.gender;}public String getGender(){    return gender;}abstractpublic void eat();}

接来下写一个接口 .男人挣钱给女朋友花(接口实现)

public interface MakeMoney{ //接口用interface 定义//接口中只有抽象方法 public abstract void MakeMoney{System.out.println("男人挣钱给女人花");}}

接下来写一个男人类
男人类 姓名 性别 有女朋友 吃肉 介绍女朋友是谁

public  class  Man extends implements MakeMoney{          private string  haveagirlfriend;  //有女朋友public Man(){    //Man的无参构造方法}public Man(String name,String gender){ Man的有参构造方法      super.name = name;    super.gender = gender;}public void setHaveagirlfriend(String haveagirlfriend){    this.haveagielfriend = haveagirlfriend; }public String getHaveagirlfriend(){    return havaagirlfriend;}public void eat(){    //吃肉方法System.out.println("吃肉")}public void introduce(){  //介绍女朋友System.out.println("我是"+this.getname());Syeem.out。println("我的女朋友是"+haveagirlfriend.getname())}}

女人类 姓名 性别 有男朋友 吃素 介绍男朋友是谁
写一个女人类

public class Woman extends Person{private String haveaboyfriend;public Wonman (){}public Wonman(String name,String gender){    this.name = name;    this.gender = gender;}public void setHaveaboyfriend(){    this.haveaboyfriend = haveaboyfriend;}public String getHaveaboyfriend(){    return haveaboyfriend;}public void eat(){System.out.println("吃素");}public void introduce(){System.out.println("我是"+this.getname())Sysem.out.println("我的男朋友是"+haveaboyfriend.getname())}}