首页 技术 正文
技术 2022年11月11日
0 收藏 751 点赞 3,358 浏览 2742 个字

Java项目案例之—封装的实例

  1. 有一个专业类,有一个专业对象,专业名称:计算机科学与技术,专业编号:J001,专业年限:4,对年限添加约束,如果输入小于0,则默认为0,否则显示输入的值
  2. 有一个学生类,有一个学生对象,学生姓名:张三,性别:男,年龄:19,对性别添加约束,如果输入不是男或女,则默认为男,否则显示输入的值
  3. 计算机科学与技术专业的学生张三做自我介绍
public class Major {
private String mname;
private String mnumber;
private int myears;
//无参构造函数
public Major(){}
//带参构造函数
public Major(String mname,String mnumber,int myears){
this.setMname(mname);
this.setMnumber(mnumber);
this.setMyears(myears);
} public String getMname() {
return mname;
} public void setMname(String mname) {
this.mname = mname;
} public String getMnumber() {
return mnumber;
} public void setMnumber(String mnumber) {
this.mnumber = mnumber;
} public int getMyears() {
return myears;
} public void setMyears(int myears) {
if(myears<0){
this.myears = 0;
}else{
this.myears = myears;
} }
}
public class Student {    private String sname;    private String ssex;    private int sage;    private Major smajor;    //无参构造函数    public Student(){}    //带参构造函数1    public Student(String sname,String ssex,int sage){        this.setSname(sname);        this.setSsex(ssex);        this.setSage(sage);    }    //带参构造函数2    public Student(String sname,String ssex,int sage,Major smajor){        this.setSname(sname);        this.setSsex(ssex);        this.setSage(sage);        this.setSmajor(smajor);    }    public String getSname() {        return sname;    }    public void setSname(String sname) {        this.sname = sname;    }    public String getSsex() {        return ssex;    }    public void setSsex(String ssex) {        if(!ssex.equals("男")||!ssex.equals("女")){           this.ssex="男";        }else{            this.ssex = ssex;        }    }    public int getSage() {        return sage;    }    public void setSage(int sage) {        this.sage = sage;    }    public Major getSmajor() {        return smajor;    }    public void setSmajor(Major smajor) {        if(smajor==null){            this.smajor=new Major();        }        this.smajor = smajor;    }    /**     * 自我介绍,第一种方法     * @param mname     * @param mnumber     * @param myears     * @return 姓名,性别,年龄,专业名称,专业编号,专业年限     */    public String print(String mname,String mnumber,int myears){        String pri="自我介绍如下:\n"+"姓名:"+this.getSname()+"\n性别:"+this.getSsex()+"\n年龄:"+this.getSage()+"\n专业名称:"+mname+"\n专业编号:"+mnumber+"\n专业年限:"+myears;        return pri;    }    /**     * 自我介绍,第二种方法     * @param major     * @return 姓名,性别,年龄,专业名称,专业编号,专业年限     */    public String print(Major major){        String pri="自我介绍如下:\n"+"姓名:"+this.getSname()+"\n性别:"+this.getSsex()+"\n年龄:"+this.getSage()+"\n专业名称:"+major.getMname()+"\n专业编号:"+major.getMnumber()+"\n专业年限:"+major.getMyears();        return pri;    }    /**     * 自我介绍,第三种方法     * @return 姓名,性别,年龄,专业名称,专业编号,专业年限     */    public String print(){        String pri="自我介绍如下:\n"+"姓名:"+this.getSname()+"\n性别:"+this.getSsex()+"\n年龄:"+this.getSage()+"\n专业名称:"+this.getSmajor().getMname()+"\n专业编号:"+this.getSmajor().getMnumber()+"\n专业年限:"+this.getSmajor().getMyears();        return pri;    }} 
public class Test {    public static void main(String[] args){        Major mj1=new Major("计算机科学技术","J001",-4);        Student st1=new Student("张三","中间",19,mj1);        //自我介绍第一种输出        //System.out.println(st1.print(mj1.getMname(),mj1.getMnumber(),mj1.getMyears()));        //自我介绍第二种输出        //System.out.println(st1.print(mj1));        //自我介绍第三种输出        System.out.println(st1.print());    }
}

运行结果:

自我介绍如下:

姓名:张三

性别:男

年龄:19

专业名称:计算机科学技术

专业编号:J001

专业年限:0

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,581
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918