博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的封装
阅读量:4970 次
发布时间:2019-06-12

本文共 2996 字,大约阅读时间需要 9 分钟。

1 封装

 

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

 

封装步骤

[1]属性私有化

[2]提供公共的设置器和访问器

[3]设置器和访问器中添加业务校验逻辑

 

public class Dog{		// 【1】private 私有的,对外不可见	private String name;	private int health;	private int love;	private String strain;	// 【2】提供公共的设置器(setter)和访问器(getter)	public void setName(String name){		// 【3】逻辑校验		if(name.equals("")){			System.out.println("姓名不能为空.");		}else{			this.name = name;		}	}	public String getName(){		return this.name;	}		public void setHealth(int health){		if(health < 0){			System.out.println("健康值不合法.");			this.health = 0;		}else{			this.health = health;		}	}	public int getHealth(){		return this.health;	}		public void setLove(int love){		if(love < 0){			System.out.println("亲密度不合法.");			this.love = 0;		}else{			this.love = love;		}	}	public int getLove(){		return this.love;	}		public void setStrain(String strain){		if(strain.equals("")){			System.out.println("品种不能为空.");		}else{			this.strain = strain;		}	}	public String getStrain(){		return this.strain;	}			public Dog(){			}	public Dog(String name,int health,int love,String strain){		this.setName(name);		this.setHealth(health);		this.setLove(love);		this.setStrain(strain);	}		public void showInfo(){		System.out.print("我的名字叫"+this.name);		System.out.print(",健康值"+this.health);		System.out.print(",亲密度"+this.love);		System.out.println(",我是一只"+this.strain);	}}

 

 2 静态常量

 

果一个的值不会发生改变,可以把该量声明为静态常量static final修饰。

 

public class Penguin{        private String name;    private int health;    private int love;    private String gender;        static final String SEX_MALE = "雄";    static final String SEX_FEMALE = "雌";        public void setName(String name){        this.name = name;    }    public String getName(){        return this.name;    }        public void setHealth(int health){        if(health>100 && health<1){            this.health = 60;            System.out.println("健康值必须在1-100之间,默认为60");        }else{            this.health = health;        }    }    public int getHealth(){        return this.health;    }        public void setLove(String love){        this.love = love;    }    public int getLove(){        return this.love;    }        public void setGender(String gender){        this.gender = gender;    }    public String getGender(){        return this.gender;    }        public Penguin(){            }    public Penguin(String name,String gender){        this.setName(name);        this.setGender(gender);    }        public Penguin(String name,int health,int love,String gender){        this(name,gender);        this.setHealth(health);        this.setLove(love);    }        public void showInfo(){        System.out.print("我的名字叫"+name);        System.out.print(",健康值"+health);        System.out.print(",亲密度"+love);        System.out.println(",性别"+gender);    }        }public class Test02{    public static void main(String[] args){                Penguin penguin = new Penguin("大脚",100,0,Penguin.SEX_MALE);    }}

 

转载于:https://www.cnblogs.com/FSY15767366954/p/10743545.html

你可能感兴趣的文章
[WebStrom] Cannot detect file change to trigger webpack re-compile
查看>>
分类统计字符个数(15 分)
查看>>
python-继承
查看>>
朝歌行
查看>>
xaml控件
查看>>
SQL SERVER启动步骤
查看>>
spring学习笔记一 入门及配置
查看>>
PHP安装问题
查看>>
三十而立,从零开始学ios开发(一):准备起航
查看>>
2019.04.09 电商21 修改购物车商品数量
查看>>
232. Implement Queue using Stacks,225. Implement Stack using Queues
查看>>
Android实战——第三方服务之Bmob后端云的答题系统小项目(四)
查看>>
读书有感----做一个踏实的程序员
查看>>
模块和包
查看>>
Spring+SpringMvc+Mybatis 框架的搭建(二)
查看>>
Pre-defined Keyboard Shortcuts (zz.IS2120@BG57IV3.T717662197)
查看>>
路由器与交换机的区别与联系
查看>>
hdu 1787 GCD Again
查看>>
Linux内核升级
查看>>
西交利物浦大学Java PAPER CODE: CSE105/12-13/S1/Resit Coursework
查看>>