首页 > 学院 > 开发设计 > 正文

重学JAVA基础(五):面向对象

2019-11-14 23:38:24
字体:
来源:转载
供稿:网友
重学java基础(五):面向对象

1.封装

import java.util.Date;public class Human {    PRotected String name;        protected BirthDay birthDay;        protected String 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 BirthDay getBirthDay() {        return birthDay;    }    public void setBirthDay(BirthDay birthDay) {        this.birthDay = birthDay;    }        public int getAge(){//封装方法        if(birthDay!=null){            Date nowDate = new Date(System.currentTimeMillis());            int year = nowDate.getYear()+1900;            int month = nowDate.getMonth()+1;            int day = nowDate.getDate();            int age = year - this.birthDay.getYear();            if(this.birthDay.getMonth()>month){                return age-1;            }else if(this.birthDay.getMonth()==month){                if(this.birthDay.getDay()>=day){                    return age-1;                }            }            return age;        }        return 0;    }        public String toString(){        return "name:"+name+" sex:"+sex+" age:"+getAge();    }        public String toString(Human human){        return this+"";    }    public Human(){            }    public Human(String name,String sex) {        super();        this.name = name;        this.sex = sex;    }        public Human(String sex) {        super();        this.sex = sex;    }    public Human(String name,String sex,int year,int month,int day) {        super();        this.name = name;        this.birthDay = new BirthDay(year, month, day);        this.sex = sex;    }    }
public class BirthDay {    private int year;        private int month;        private int day;    public int getYear() {        return year;    }    public void setYear(int year) {        this.year = year;    }    public int getMonth() {        return month;    }    public void setMonth(int month) {        this.month = month;    }    public int getDay() {        return day;    }    public void setDay(int day) {        this.day = day;    }        public BirthDay(){            }    public BirthDay(int year, int month, int day) {        super();        this.year = year;        this.month = month;        this.day = day;    }    }

2.继承

public class Woman extends Human{    public Woman(){        super("Woman");    }        public Woman(String name){        super(name,"Woman");    }        public String toString(){        return " I am Woman,"+super.toString();    }        public String toString(Woman woman){        return woman+"";    }}
public class Man extends Human{    public Man(){        super("Man");    }        public Man(String name){        super(name,"Man");    }        public String toString(){        return " I am Man,"+super.toString();    }        public String toString(Man man){        return man+"";    }    }

3.多态

public class TestOO {    public static void main(String[] args) {        Human man = new Man("man");        Human woman = new Woman("woman");        System.out.println(woman.toString(man));        System.out.println(man.toString(woman));    }}

运行结果:

 I am Woman,name:woman sex:Woman age:0 I am Man,name:man sex:Man age:0


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表